or
public
class
RadFilterTimeSpanEditor : RadFilterDataFieldEditor
{
RadMaskedTextBox _timePicker;
public
override
void
InitializeEditor(System.Web.UI.Control container)
{
_timePicker =
new
RadMaskedTextBox();
_timePicker.Mask =
"<0..5><0..9>:<0..5><0..9>"
;
container.Controls.Add(_timePicker);
}
public
override
Type DataType
{
get
{
return
typeof
(TimeSpan);
}
set
{}
}
public
override
System.Collections.ArrayList ExtractValues()
{
ArrayList list =
new
ArrayList(1);
if
(!
string
.IsNullOrWhiteSpace(_timePicker.Text))
{
TimeSpan ts =
new
TimeSpan(00,
int
.Parse(_timePicker.Text.Substring(0, 2)),
int
.Parse(_timePicker.Text.Substring(2, 2)));
list.Add(ts);
}
return
list;
}
public
override
void
SetEditorValues(System.Collections.ArrayList values)
{
if
(values !=
null
&& values.Count > 0)
{
if
(values[0] ==
null
&& !(values[0]
is
TimeSpan))
return
;
TimeSpan ts = (TimeSpan)values[0];
_timePicker.Text =
string
.Format(
"{0:00}{1:00}"
, ts.Minutes, ts.Seconds);
}
}
protected
override
void
CopySettings(RadFilterDataFieldEditor baseEditor)
{
base
.CopySettings(baseEditor);
var editor = baseEditor
as
RadFilterTimeSpanEditor;
}
public
partial
class
_Default : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(!IsPostBack)
{
RadFilterTimeSpanEditor editorTimeSpan =
new
RadFilterTimeSpanEditor();
RadFilter1.FieldEditors.Add(editorTimeSpan);
editorTimeSpan.FieldName =
"ShipingDuration"
;
editorTimeSpan.DisplayName =
"Shipping Duration"
;
}
}
protected
void
RadFilter1_FieldEditorCreating(
object
sender, Telerik.Web.UI.RadFilterFieldEditorCreatingEventArgs e)
{
if
(e.EditorType ==
"RadFilterTimeSpanEditor"
)
{
e.Editor =
new
RadFilterTimeSpanEditor();
}
}
}
<
telerik:RadFilter
ID
=
"RadFilter1"
runat
=
"server"
CssClass
=
"RadFilter RadFilter_Default RadFilter RadFilter_Default "
FilterContainerID
=
"RadGrid1"
OnFieldEditorCreating
=
"RadFilter1_FieldEditorCreating"
>
</
telerik:RadFilter
>
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AllowPaging
=
"True"
AutoGenerateColumns
=
"False"
CellSpacing
=
"0"
DataSourceID
=
"ObjectDataSource1"
GridLines
=
"None"
>
<
ClientSettings
>
<
Selecting
CellSelectionMode
=
"None"
></
Selecting
>
</
ClientSettings
>
<
MasterTableView
DataSourceID
=
"ObjectDataSource1"
>
<
CommandItemSettings
ExportToPdfText
=
"Export to PDF"
></
CommandItemSettings
>
<
RowIndicatorColumn
Visible
=
"True"
FilterControlAltText
=
"Filter RowIndicator column"
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
Visible
=
"True"
FilterControlAltText
=
"Filter ExpandColumn column"
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
ExpandCollapseColumn
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"OrderID"
DataType
=
"System.Int32"
FilterControlAltText
=
"Filter OrderID column"
HeaderText
=
"OrderID"
SortExpression
=
"OrderID"
UniqueName
=
"OrderID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"CustomerID"
FilterControlAltText
=
"Filter CustomerID column"
HeaderText
=
"CustomerID"
SortExpression
=
"CustomerID"
UniqueName
=
"CustomerID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"EmployeeID"
DataType
=
"System.Int32"
FilterControlAltText
=
"Filter EmployeeID column"
HeaderText
=
"EmployeeID"
SortExpression
=
"EmployeeID"
UniqueName
=
"EmployeeID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"OrderDate"
DataType
=
"System.DateTime"
FilterControlAltText
=
"Filter OrderDate column"
HeaderText
=
"OrderDate"
SortExpression
=
"OrderDate"
UniqueName
=
"OrderDate"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"RequiredDate"
DataType
=
"System.DateTime"
FilterControlAltText
=
"Filter RequiredDate column"
HeaderText
=
"RequiredDate"
SortExpression
=
"RequiredDate"
UniqueName
=
"RequiredDate"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ShippedDate"
DataType
=
"System.DateTime"
FilterControlAltText
=
"Filter ShippedDate column"
HeaderText
=
"ShippedDate"
SortExpression
=
"ShippedDate"
UniqueName
=
"ShippedDate"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ShipVia"
DataType
=
"System.Int32"
FilterControlAltText
=
"Filter ShipVia column"
HeaderText
=
"ShipVia"
SortExpression
=
"ShipVia"
UniqueName
=
"ShipVia"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Freight"
DataType
=
"System.Decimal"
FilterControlAltText
=
"Filter Freight column"
HeaderText
=
"Freight"
SortExpression
=
"Freight"
UniqueName
=
"Freight"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ShipName"
FilterControlAltText
=
"Filter ShipName column"
HeaderText
=
"ShipName"
SortExpression
=
"ShipName"
UniqueName
=
"ShipName"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ShipAddress"
FilterControlAltText
=
"Filter ShipAddress column"
HeaderText
=
"ShipAddress"
SortExpression
=
"ShipAddress"
UniqueName
=
"ShipAddress"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ShipCity"
FilterControlAltText
=
"Filter ShipCity column"
HeaderText
=
"ShipCity"
SortExpression
=
"ShipCity"
UniqueName
=
"ShipCity"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ShipRegion"
FilterControlAltText
=
"Filter ShipRegion column"
HeaderText
=
"ShipRegion"
SortExpression
=
"ShipRegion"
UniqueName
=
"ShipRegion"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ShipPostalCode"
FilterControlAltText
=
"Filter ShipPostalCode column"
HeaderText
=
"ShipPostalCode"
SortExpression
=
"ShipPostalCode"
UniqueName
=
"ShipPostalCode"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ShipCountry"
FilterControlAltText
=
"Filter ShipCountry column"
HeaderText
=
"ShipCountry"
SortExpression
=
"ShipCountry"
UniqueName
=
"ShipCountry"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ShipingDuration"
DataType
=
"System.TimeSpan"
FilterControlAltText
=
"Filter ShipingDuration column"
HeaderText
=
"ShipingDuration"
UniqueName
=
"ShipingDuration"
SortExpression
=
"ShipingDuration"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"EntityState"
DataType
=
"System.Int32"
FilterControlAltText
=
"Filter EntityState column"
HeaderText
=
"EntityState"
ReadOnly
=
"True"
SortExpression
=
"EntityState"
UniqueName
=
"EntityState"
>
</
telerik:GridBoundColumn
>
</
Columns
>
<
EditFormSettings
>
<
EditColumn
FilterControlAltText
=
"Filter EditCommandColumn column"
>
</
EditColumn
>
</
EditFormSettings
>
</
MasterTableView
>
<
FilterMenu
EnableImageSprites
=
"False"
>
</
FilterMenu
>
</
telerik:RadGrid
>
</
div
>
<
asp:ObjectDataSource
ID
=
"ObjectDataSource1"
runat
=
"server"
SelectMethod
=
"GetOrders"
TypeName
=
"NORTHWINDModel.OrdersAdapter"
></
asp:ObjectDataSource
>
public
partial
class
Orders
{
public
TimeSpan? ShipingDuration
{
get
{
return
this
.ShippedDate -
this
.OrderDate;
}
set
{ }
}
}
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Tools.aspx.cs" Inherits="ARCHLT.Helios.Eos.Tools" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<%@ Register assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" namespace="System.Web.UI.DataVisualization.Charting" tagprefix="asp" %>
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>
<
asp:Content
ID
=
"Content1"
ContentPlaceHolderID
=
"HeadContent"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function ItemErrorAlert(message) {
radconfirm(message, confirmCallBackFn, 300, 100, null, "Title");
}
function confirmCallBackFn(arg) {
radalert("<
strong
>radconfirm</
strong
> returned the following result: <
h3
style
=
'color: #ff0000;'
>" + arg + "</
h3
>", null, null, "Result");
}
</
script
>
</
asp:Content
>
<
asp:Content
ID
=
"Content2"
ContentPlaceHolderID
=
"MainContent"
runat
=
"server"
>
<
h3
>TOOLS</
h3
><
br
/>
<!-- Rad Window Manager -->
<
telerik:RadWindowManager
ID
=
"RadWindowManager"
runat
=
"server"
EnableShadow
=
"true"
>
</
telerik:RadWindowManager
>
<!-- Rad Ajax Manager -->
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager"
runat
=
"server"
>
</
telerik:RadAjaxManager
>
<
div
style
=
"float:left;"
>
<
telerik:RadTextBox
ID
=
"txt_InputData"
runat
=
"server"
TextMode
=
"MultiLine"
EmptyMessage
=
"Enter TagID or Item GUID Here. (Comma, Line or Space Delimited)"
Width
=
"500px"
Height
=
"200px"
/>
<
br
/><
br
/>
<
telerik:RadButton
ID
=
"btn_ValidateInputData"
runat
=
"server"
Text
=
"Validate"
OnClick
=
"ValidateInputData"
/>
<
telerik:RadButton
ID
=
"btn_Execute"
runat
=
"server"
Text
=
"Execute"
Visible
=
"false"
OnClick
=
"ExecuteInputData"
/>
</
div
>
<
asp:Panel
ID
=
"panel_DataManipulation"
runat
=
"server"
Enabled
=
"false"
>
<
div
style
=
"float:left;"
>
<
span
>Set Status: </
span
><
telerik:RadComboBox
ID
=
"rcb_SetStatus"
runat
=
"server"
EmptyMessage
=
"Select Status"
>
<
Items
>
<
telerik:RadComboBoxItem
Text
=
""
Value
=
""
/>
<
telerik:RadComboBoxItem
Text
=
"Checked In"
Value
=
"1"
/>
<
telerik:RadComboBoxItem
Text
=
"Checked Out"
Value
=
"2"
/>
<
telerik:RadComboBoxItem
Text
=
"Consumed/Allocated"
Value
=
"3"
/>
<
telerik:RadComboBoxItem
Text
=
"Transferred"
Value
=
"4"
/>
</
Items
>
</
telerik:RadComboBox
>
<
span
>Set Location: </
span
><
telerik:RadComboBox
ID
=
"rcb_SetLocation"
runat
=
"server"
EmptyMessage
=
"Select Location"
/>
<
br
/><
br
/>
<
span
>Set Expiration: </
span
><
telerik:RadDatePicker
ID
=
"rdp_SetExpiration"
runat
=
"server"
/>
</
div
>
</
asp:Panel
>
</
asp:Content
>
protected
void
ValidateInputData(
object
sender, EventArgs e)
{
bool
ResultItemID =
false
;
bool
ResultTagID =
false
;
// Parse the input data into a list
List<
string
> ParsedInputData = ParseInputData(txt_InputData.Text);
// Check if the input data is a TagID or Item.ID
if
(IsItemID(ParsedInputData))
{
// Check to see if there are any errors
if
(ErrorID.Count > 0)
{
string
sErrorMsg =
""
;
sErrorMsg +=
"A few of the IDs you inputed did not validate: "
;
foreach
(
string
s
in
ErrorID)
{
sErrorMsg +=
"'"
+ s +
"',"
;
}
// Remove trailing comma
sErrorMsg.Remove(sErrorMsg.Count() - 1);
sErrorMsg +=
"Would you like to try to validate again without these IDs?"
;
//RadWindowManager.RadConfirm(sErrorMsg, "confirmCallBackFn", 330, 100, null, "Input Data Validation");
ScriptManager.RegisterStartupScript(
this
,
this
.GetType(),
"itemerroralert"
,
"ItemErrorAlert(\""
+ sErrorMsg +
"\");"
,
true
);
}
else
{
ResultItemID =
true
;
inputDataType = IDType.ItemID;
RadWindowManager.RadAlert(
"The input data has been validated as an Item.ID. Please choose what you would like to do from the panel on the right"
, 300, 100,
"Validation Alert"
,
null
);
}
}
else
if
(IsTagID(ParsedInputData))
{
ResultTagID =
true
;
inputDataType = IDType.TagID;
ScriptManager.RegisterStartupScript(
this
,
this
.GetType(),
"radalert"
, RadPopup.GenerateConfirmScript(
"The input data has been validated as a TagID. Please choose what you would like to do from the panel on the right"
),
true
);
}
// Turn on
if
((ResultItemID) || (ResultTagID))
{
panel_DataManipulation.Enabled =
true
;
btn_ValidateInputData.Visible =
false
;
btn_Execute.Visible =
true
;
}
}
<
ClientSettings
>
<
Scrolling
AllowScroll
=
"true"
UseStaticHeaders
=
"true"
/>
</
ClientSettings
>