Dear Telerik Team,
we would like to get a custom filter control in the code behind. Here is the scenario:
ASPX:
<telerik:GridBoundColumn DataField="PropertyCaption" HeaderText="Property Caption"
AllowFiltering="true">
<HeaderStyle Width="25%" />
<FilterTemplate>
<telerik:RadComboBox ID="rcbPropertyCaptionFilter" runat="server" DataValueField="PropertyCaption"
DataTextField="PropertyCaption" EmptyMessage="All Types" AllowCustomText="true"
CheckBoxes="true" EnableCheckAllItemsCheckBox="true" Width="240px" />
<telerik:RadButton ID="btnPropertyCaptionFilter" text="Filter" runat="server" OnClick="btnPropertyCaptionFilter_Click"/>
</FilterTemplate>
</telerik:GridBoundColumn>
CS:
protected void btnPropertyCaptionFilter_Click(object sender, EventArgs e)
{
// Here I need to find control rcbPropertyCaptionFilter
// This access doesn't work
object example1 = RadGridDataPoints.MasterTableView.FindControl("rcbPropertyCaptionFilter");
object example2 = RadGridDataPoints.FindControl("rcbPropertyCaptionFilter");
}
Could you tell us please, how to access the „rcbPropertyCaptionFilter” control?
Thank you in advance.
SCT
<
AppointmentContextMenus
>
<
telerik:RadSchedulerContextMenu
runat
=
"server"
ID
=
"ContextMenu1"
>
<
Items
>
<
telerik:RadMenuItem
Text
=
"Edit"
Value
=
"CommandEdit"
/>
<
telerik:RadMenuItem
Text
=
"Reserve"
Value
=
"Reserve"
/>
</
Items
>
</
telerik:RadSchedulerContextMenu
>
</
AppointmentContextMenus
>
protected void RadScheduler1_AppointmentContextMenuItemClicking(object sender, Telerik.Web.UI.AppointmentContextMenuItemClickingEventArgs e)
{
if (e.MenuItem.Value == "Reserve")
{
// Code will go here
}
}
<
table
id
=
"tblPregs"
runat
=
"server"
border
=
"0"
cellpadding
=
"3"
cellspacing
=
"2"
style
=
"border-style: none; background-image: url('http://localhost:37735/img/icloud-background.jpg'); height: 519px; margin-right: 0px;"
>
<
tr
style
=
"border-style: none"
><
td
align
=
"center"
class
=
"style1"
>
<
telerik:RadRotator
ID
=
"RadRotator1"
runat
=
"server"
Height
=
"471px"
Width
=
"936px"
RotatorType
=
"CarouselButtons"
BorderStyle
=
"None"
style
=
"margin-right: 0px"
>
<
Items
>
<
telerik:RadRotatorItem
>
<
ItemTemplate
>
<
asp:ImageButton
ID
=
"imagen"
runat
=
"server"
ImageUrl
=
"~/img/1336657679_application-vnd.oasis.opendocument.spreadsheet-template.png"
ToolTip
=
"Reportes"
/>
</
ItemTemplate
>
</
telerik:RadRotatorItem
>
<
telerik:RadRotatorItem
>
<
ItemTemplate
>
<
asp:ImageButton
ID
=
"ImageButton1"
runat
=
"server"
ImageUrl
=
"~/img/1336659958_control-panel-px-png.png"
ToolTip
=
"Dashboards de control"
/>
</
ItemTemplate
>
</
telerik:RadRotatorItem
>
<
telerik:RadRotatorItem
>
<
ItemTemplate
>
<
asp:ImageButton
ID
=
"ImageButton3"
runat
=
"server"
ImageUrl
=
"~/img/1336615047_Program-Group.png"
ToolTip
=
"Registro"
/>
</
ItemTemplate
>
</
telerik:RadRotatorItem
>
</
Items
>
</
telerik:RadRotator
>
</
td
></
tr
>
</
table
>
<
telerik:RadScriptBlock
ID
=
"radScriptBlock"
runat
=
"server"
>
<
script
type
=
"text/javascript"
language
=
"javascript"
>
var clickCalledAfterRadconfirm = false;
var lastClickedItem = null;
var isrespond = false;
var respondmsg = null;
/* Rad Window Start */
function openWins(url, winid, para, width, height) {
var _contparameter = '';
var _controlfill = $get('<%= this._hidField.ClientID%>');
_controlfill.value = '';
switch (para.toLowerCase()) {
case "item_ln":
case "lookup_resource_group_hdr":
_contparameter = "&_qReturnto=" + para;
break;
default:
}
var oWnd = $find("<%=_radWinManagers.ClientID %>").open(url + _contparameter, winid);
setBehaviors(oWnd);
oWnd.SetSize(width, height);
oWnd.SetModal(true);
}
function GetRadWindow() {
var oWindow = null;
if (window.radWindow) oWindow = window.radWindow;
else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow;
return oWindow;
}
function setBehaviors(oWnd) {
oWnd.set_behaviors(Telerik.Web.UI.WindowBehaviors.Pin + Telerik.Web.UI.WindowBehaviors.Reload + Telerik.Web.UI.WindowBehaviors.Close);
}
function Usc_OnClientClose(oWnd, args) {
//get the transferred arguments
var arg = args.get_argument();
if (arg) {
var vals = arg.vals;
var cmds = arg.cmds;
var valext = arg.valext;
var _controlfill = $get('<%= this._hidField.ClientID%>');
_controlfill.value = '';
_controlfill.value = vals;
var ajaxManager = $find("<%= _radAjManagers.ClientID %>");
if ((ajaxManager == null) || (ajaxManager == undefined))
return false;
if (_controlfill) {
switch (cmds.toLowerCase()) {
case 'lookup_item_hdr': break;
case 'lookup_gl_hdr':
case 'lookup_item_ln':
case 'lookup_resource_group_hdr':
ajaxManager.ajaxRequest(cmds);
break;
default: break;
}
}
}
return false;
}
/* Rad Window End */
</
script
>
</
telerik:RadScriptBlock
>
<
telerik:RadWindowManager
ID
=
"_radWinManagers"
ShowContentDuringLoad
=
"true"
VisibleStatusbar
=
"false"
ReloadOnShow
=
"false"
runat
=
"server"
Skin
=
"Default"
EnableShadow
=
"true"
>
<
Windows
>
<
telerik:RadWindow
ID
=
"_radWinItems"
runat
=
"server"
Behaviors
=
"Pin,reload,close,move"
OnClientClose
=
"Usc_OnClientClose"
>
</
telerik:RadWindow
>
<
telerik:RadWindow
ID
=
"_radDialog"
runat
=
"server"
Behaviors
=
"Pin,reload,close,move"
OnClientClose
=
"Usc_OnClientClose"
>
</
telerik:RadWindow
>
</
Windows
>
</
telerik:RadWindowManager
>
<
telerik:RadAjaxManager
ID
=
"_radAjManagers"
runat
=
"server"
OnAjaxRequest
=
"_radAjManager_AjaxRequest"
>
<
AjaxSettings
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
#region "RadControl"
protected
void
_radAjManager_AjaxRequest(
object
sender, Telerik.Web.UI.AjaxRequestEventArgs e)
{
switch
(e.Argument)
{
case
"lookup_item_ln"
:
case
"lookup_resource_group_hdr"
:
GetItemInfo();
break
;
default
:
break
;
}
}
#endregion
<
telerik:RadRotator
ID
=
"ItemRotator"
runat
=
"server"
Width
=
"100%"
Height
=
"500px"
CssClass
=
"horizontalRotator"
ScrollDuration
=
"500"
FrameDuration
=
"1"
ItemHeight
=
"200"
ItemWidth
=
"230"
RotatorType
=
"ButtonsOver"
WrapFrames
=
"false"
>
<
WebServiceSettings
Path
=
"~/Services/Assessment.asmx"
Method
=
"LoadAssessmentItemThumbnails"
/>
</
telerik:RadRotator
>
using
System;
using
System.Collections.Generic;
using
System.Web.Services;
using
Telerik.Web.UI;
using
Thinkgate.Base.Classes;
namespace
Thinkgate.Services
{
/// <summary>
/// Summary description for Assessment1
/// </summary>
[WebService(Namespace =
"http://tempuri.org/"
)]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(
false
)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public
class
Assessment1 : System.Web.Services.WebService
{
[WebMethod(
true
)]
[System.Web.Script.Services.ScriptMethod]
public
RadRotatorItemData[] LoadAssessmentItemThumbnails(
int
index = 0,
string
argument =
""
)
{
List<RadRotatorItemData> result =
new
List<RadRotatorItemData>();
List<AssessmentItem> itemList = AssessmentItem.GetIncrementedAssessmentItemsByGradeSubjectCourse(
"01"
,
"Mathematics"
,
"Mathematics"
, index, index + 10);
foreach
(AssessmentItem item
in
itemList)
{
var rotatorItemData =
new
RadRotatorItemData();
rotatorItemData.Html = @
"<div style='position: relative; background-color: green'>"
+ @
"<input style='position: absolute; top: 0px' type='checkbox'/>"
+ @
"<img style='position: absolute; top: 0px; left: 30px;' "
+ @
"src='/Thumbnails/thumb_item_"
+ item.ID +
".png' "
+ @
"alt='Item Thumbnail' onerror='onImgError(this);' onLoad='setDefaultImage(this);' /></div>"
;
result.Add(rotatorItemData);
}
return
result.ToArray();
}
}
}
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
></
telerik:RadScriptManager
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadGrid1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid1"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
Skin
=
"Default"
></
telerik:RadAjaxLoadingPanel
>
<
br
/>
<
telerik:RadGrid
ID
=
"RadGrid1"
AutoGenerateColumns
=
"False"
runat
=
"server"
DataSourceID
=
"LinqDataSource1"
AllowFilteringByColumn
=
"True"
AllowPaging
=
"True"
AllowSorting
=
"True"
ShowGroupPanel
=
"True"
CellSpacing
=
"0"
GridLines
=
"None"
>
<
PagerStyle
Mode
=
"NextPrevAndNumeric"
/>
<
GroupingSettings
CaseSensitive
=
"false"
/>
<
MasterTableView
TableLayout
=
"Fixed"
>
<
CommandItemSettings
ExportToPdfText
=
"Export to PDF"
></
CommandItemSettings
>
<
RowIndicatorColumn
Visible
=
"True"
FilterControlAltText
=
"Filter RowIndicator column"
></
RowIndicatorColumn
>
<
ExpandCollapseColumn
Visible
=
"True"
FilterControlAltText
=
"Filter ExpandColumn column"
></
ExpandCollapseColumn
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"FilePath"
FilterControlAltText
=
"Filter FilePath column"
HeaderText
=
"FilePath"
ReadOnly
=
"True"
SortExpression
=
"FilePath"
UniqueName
=
"FilePath"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ProjectID"
FilterControlAltText
=
"Filter ProjectID column"
HeaderText
=
"ProjectID"
ReadOnly
=
"True"
SortExpression
=
"ProjectID"
UniqueName
=
"ProjectID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Category"
FilterControlAltText
=
"Filter Category column"
HeaderText
=
"Category"
ReadOnly
=
"True"
SortExpression
=
"Category"
UniqueName
=
"Category"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ProjectName"
FilterControlAltText
=
"Filter ProjectName column"
HeaderText
=
"ProjectName"
ReadOnly
=
"True"
SortExpression
=
"ProjectName"
UniqueName
=
"ProjectName"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ProjCoreTitle"
FilterControlAltText
=
"Filter ProjCoreTitle column"
HeaderText
=
"ProjCoreTitle"
ReadOnly
=
"True"
SortExpression
=
"ProjCoreTitle"
UniqueName
=
"ProjCoreTitle"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"DrawingNumber"
FilterControlAltText
=
"Filter DrawingNumber column"
HeaderText
=
"DrawingNumber"
ReadOnly
=
"True"
SortExpression
=
"DrawingNumber"
UniqueName
=
"DrawingNumber"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"DrawingTitle"
FilterControlAltText
=
"Filter DrawingTitle column"
HeaderText
=
"DrawingTitle"
ReadOnly
=
"True"
SortExpression
=
"DrawingTitle"
UniqueName
=
"DrawingTitle"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Description"
FilterControlAltText
=
"Filter Description column"
HeaderText
=
"Description"
ReadOnly
=
"True"
SortExpression
=
"Description"
UniqueName
=
"Description"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"DrawingDate"
DataType
=
"System.DateTime"
FilterControlAltText
=
"Filter DrawingDate column"
HeaderText
=
"DrawingDate"
ReadOnly
=
"True"
SortExpression
=
"DrawingDate"
UniqueName
=
"DrawingDate"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"RecordCreated"
DataType
=
"System.DateTime"
FilterControlAltText
=
"Filter RecordCreated column"
HeaderText
=
"RecordCreated"
ReadOnly
=
"True"
SortExpression
=
"RecordCreated"
UniqueName
=
"RecordCreated"
>
</
telerik:GridBoundColumn
>
</
Columns
>
<
EditFormSettings
>
<
EditColumn
FilterControlAltText
=
"Filter EditCommandColumn column"
></
EditColumn
>
</
EditFormSettings
>
</
MasterTableView
>
<
ClientSettings
AllowDragToGroup
=
"true"
></
ClientSettings
>
<
FilterMenu
EnableImageSprites
=
"False"
></
FilterMenu
>
</
telerik:RadGrid
>
<
asp:LinqDataSource
ID
=
"LinqDataSource1"
AutoPage
=
"False"
runat
=
"server"
ContextTypeName
=
"ScanBrowser.ScanBrowserContext.ScanBrowserContext"
TableName
=
"BrowserGridTBL"
Select
=
"new (FilePath, ProjectID, Category, ProjectName, ProjCoreTitle, DrawingNumber, DrawingTitle, Description, DrawingDate, RecordCreated)"
>
</
asp:LinqDataSource
>
Imports
Telerik.Web.UI
Imports
System.Linq
Imports
System.Diagnostics
Public
Class
WebForm2
Inherits
System.Web.UI.Page
Protected
Sub
LinqDataSource1_Selected(sender
As
Object
, e
As
System.Web.UI.WebControls.LinqDataSourceStatusEventArgs)
Handles
LinqDataSource1.Selected
If
Not
Cache(
"MyData"
)
Is
Nothing
AndAlso
Not
e.Result
Is
Nothing
Then
Cache(
"MyData"
) = e.Result
End
If
End
Sub
Protected
Sub
LinqDataSource1_Selecting(sender
As
Object
, e
As
System.Web.UI.WebControls.LinqDataSourceSelectEventArgs)
Handles
LinqDataSource1.Selecting
e.Arguments.TotalRowCount = 300000
If
Not
Cache(
"MyData"
)
Is
Nothing
Then
e.Result = Cache(
"MyData"
)
End
If
End
Sub
Protected
Sub
RadAjaxManager1_AjaxSettingCreating(sender
As
Object
, e
As
Telerik.Web.UI.AjaxSettingCreatingEventArgs)
Handles
RadAjaxManager1.AjaxSettingCreating
If
Not
e.Updated
Is
RadGrid1
Then
e.UpdatePanel.RenderMode = UpdatePanelRenderMode.Inline
End
If
End
Sub
End
Class