or
<
div
>
<
div
id
=
"grid_container"
>
<
form
id
=
"form0"
runat
=
"server"
>
<
telerik:RadScriptManager
id
=
"RadScriptManager0"
runat
=
"server"
/>
<
telerik:RadAjaxManager
id
=
"RadAjaxManager0"
EnablePageHeadUpdate
=
"false"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadGrid0"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid0"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadGrid
ID
=
"RadGrid0"
runat
=
"server"
AllowPaging
=
"True"
AllowSorting
=
"True"
AllowAutomaticUpdates
=
"True"
DataSourceID
=
"ObjectDataSource0"
GridLines
=
"Vertical"
PageSize
=
"10"
Skin
=
"Telerik"
>
...
</
telerik:RadGrid
>
</
form
>
</
div
>
</
div
>
<
div
style
=
"display:none;"
>
<
div
id
=
"grid_container"
>
<
form
id
=
"form0"
runat
=
"server"
>
<
telerik:RadScriptManager
id
=
"RadScriptManager0"
runat
=
"server"
/>
<
telerik:RadAjaxManager
id
=
"RadAjaxManager0"
EnablePageHeadUpdate
=
"false"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadGrid0"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid0"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadGrid
ID
=
"RadGrid0"
runat
=
"server"
AllowPaging
=
"True"
AllowSorting
=
"True"
AllowAutomaticUpdates
=
"True"
DataSourceID
=
"ObjectDataSource0"
GridLines
=
"Vertical"
PageSize
=
"10"
Skin
=
"Telerik"
>
...
</
telerik:RadGrid
>
</
form
>
</
div
>
</
div
>
<
script
type
=
"text/javascript"
>
function openGrid() {
jQuery.colorbox({ innerWidth: "800", innerHeight: "350", opacity: 0.5, inline: true, scrolling: false, href: "#grid_container" });
}
</
script
>
public
class
RadFilterRangeValueTypeStrategy : RadFilterDataFieldEditor
{
private
RadComboBox _combo_ValueType;
private
RadComboBox _combo_Strategy;
private
RadTextBox _textMin;
private
RadTextBox _textMax;
protected
override
void
CopySettings(RadFilterDataFieldEditor baseEditor)
{
base
.CopySettings(baseEditor);
var editor = baseEditor
as
RadFilterRangeValueTypeStrategy;
if
(editor !=
null
)
{
DataSource_ValueType = editor.DataSource_ValueType;
DataTextField_ValueType = editor.DataTextField_ValueType;
DataValueField_ValueType = editor.DataValueField_ValueType;
DataSource_Strategy = editor.DataSource_Strategy;
DataTextField_Strategy = editor.DataTextField_Strategy;
DataValueField_Strategy = editor.DataValueField_Strategy;
MinValue = editor.MinValue;
MaxValue = editor.MaxValue;
}
}
public
override
System.Collections.ArrayList ExtractValues()
{
ArrayList list =
new
ArrayList();
list.Add(_combo_ValueType.SelectedValue);
list.Add(_combo_Strategy.SelectedValue);
list.Add(_textMin.Text);
list.Add(_textMax.Text);
return
list;
}
public
override
void
InitializeEditor(System.Web.UI.Control container)
{
Label minLabel =
new
Label();
minLabel.Text =
"Min: "
;
container.Controls.Add(minLabel);
_textMin =
new
RadTextBox();
_textMin.ID =
"MinValue"
;
_textMin.Text = MinValue;
_textMin.Width = Unit.Pixel(30);
container.Controls.Add(_textMin);
Label maxLabel =
new
Label();
maxLabel.Text =
" Max: "
;
container.Controls.Add(maxLabel);
_textMax =
new
RadTextBox();
_textMax.ID =
"MaxValue"
;
_textMax.Text = MaxValue;
_textMax.Width = Unit.Pixel(30);
container.Controls.Add(_textMax);
Label valueTypeLabel =
new
Label();
valueTypeLabel.Text =
" Value Type: "
;
container.Controls.Add(valueTypeLabel);
_combo_ValueType =
new
RadComboBox();
_combo_ValueType.ID =
"ValueTypeCombo"
;
_combo_ValueType.DataTextField = DataTextField_ValueType;
_combo_ValueType.DataValueField = DataValueField_ValueType;
_combo_ValueType.DataSource = DataSource_ValueType;
_combo_ValueType.DataBind();
_combo_ValueType.Width = Unit.Pixel(30);
container.Controls.Add(_combo_ValueType);
Label strategyLabel =
new
Label();
strategyLabel.Text =
" Strategy: "
;
container.Controls.Add(strategyLabel);
_combo_Strategy =
new
RadComboBox();
_combo_Strategy.ID =
"StrategyCombo"
;
_combo_Strategy.DataTextField = DataTextField_Strategy;
_combo_Strategy.DataValueField = DataValueField_Strategy;
_combo_Strategy.DataSource = DataSource_Strategy;
_combo_Strategy.DataBind();
_combo_Strategy.Width = Unit.Pixel(40);
container.Controls.Add(_combo_Strategy);
}
public
override
void
SetEditorValues(System.Collections.ArrayList values)
{
if
(values !=
null
&& values.Count > 0)
{
if
(values[0] ==
null
)
return
;
var item = _combo_ValueType.FindItemByValue(values[0].ToString());
if
(item !=
null
)
item.Selected =
true
;
}
if
(values !=
null
&& values.Count > 1)
{
if
(values[1] ==
null
)
return
;
var item = _combo_Strategy.FindItemByValue(values[1].ToString());
if
(item !=
null
)
item.Selected =
true
;
}
if
(values !=
null
&& values.Count > 2)
{
if
(values[2] ==
null
)
return
;
_textMin.Text = values[2].ToString();
}
if
(values !=
null
&& values.Count > 3)
{
if
(values[3] ==
null
)
return
;
_textMax.Text = values[3].ToString();
}
}
public
string
DataTextField_ValueType
{
get
{
return
(
string
)ViewState[
"DataTextField_ValueType"
] ??
string
.Empty;
}
set
{
ViewState[
"DataTextField_ValueType"
] = value;
}
}
public
string
DataValueField_ValueType
{
get
{
return
(
string
)ViewState[
"DataValueField_ValueType"
] ??
string
.Empty;
}
set
{
ViewState[
"DataValueField_ValueType"
] = value;
}
}
public
RadFilterDropDownEditorDataSource DataSource_ValueType
{
get
{
return
(RadFilterDropDownEditorDataSource)ViewState[
"DataSource_ValueType"
] ??
new
RadFilterDropDownEditorDataSource();
}
set
{
ViewState[
"DataSource_ValueType"
] = value;
}
}
public
string
DataTextField_Strategy
{
get
{
return
(
string
)ViewState[
"DataTextField_Strategy"
] ??
string
.Empty;
}
set
{
ViewState[
"DataTextField_Strategy"
] = value;
}
}
public
string
DataValueField_Strategy
{
get
{
return
(
string
)ViewState[
"DataValueField_Strategy"
] ??
string
.Empty;
}
set
{
ViewState[
"DataValueField_Strategy"
] = value;
}
}
public
RadFilterDropDownEditorDataSource DataSource_Strategy
{
get
{
return
(RadFilterDropDownEditorDataSource)ViewState[
"DataSource_Strategy"
] ??
new
RadFilterDropDownEditorDataSource();
}
set
{
ViewState[
"DataSource_Strategy"
] = value;
}
}
public
string
MinValue
{
get
{
return
(
string
)ViewState[
"MinValue"
] ??
string
.Empty;
}
set
{
ViewState[
"MinValue"
] = value;
}
}
public
string
MaxValue
{
get
{
return
(
string
)ViewState[
"MaxValue"
] ??
string
.Empty;
}
set
{
ViewState[
"MaxValue"
] = value;
}
}
}
}