I am attempting to implement the Grid / Google-like filtering example described here. However in my approach instead of clearing the MasterTableView columns in Page_Load and replacing them with the inherited GridBoundColumns I'm attempting to declare them in the designer source as follows:
It works great when I do it in the code-behind of the custom control however I feel declaring it in the .ascx page is much cleaner.
<%@ Register TagPrefix="telerikCustom" Namespace="Project.Views.UserControl.CustomFilter" %>
<
telerik:RadGrid
ID
=
"RADFilterContractList"
runat
=
"server"
AutoGenerateColumns
=
"False"
AllowFilteringByColumn
=
"True"
AllowPaging
=
"True"
AllowSorting
=
"True"
Skin
=
"Hay"
OnColumnCreating
=
"RADFilterContractList_ColumnCreating"
OnItemCommand
=
"RADFilterContractList_ItemCommand"
OnNeedDataSource
=
"RADFilterContractList_NeedDataSource"
GridLines
=
"None"
>
<
PagerStyle
Mode
=
"NumericPages"
/>
<
MasterTableView
Width
=
"100%"
GroupLoadMode
=
"Client"
>
<
GroupByExpressions
>
<
telerik:GridGroupByExpression
>
<
SelectFields
>
<
telerik:GridGroupByField
FieldName
=
"Priority"
HeaderText
=
"Priority"
/>
</
SelectFields
>
<
GroupByFields
>
<
telerik:GridGroupByField
FieldName
=
"Priority"
SortOrder
=
"Descending"
/>
</
GroupByFields
>
</
telerik:GridGroupByExpression
>
</
GroupByExpressions
>
<
Columns
>
<
telerik:GridTemplateColumn
UniqueName
=
"ActionHeaderColumn"
SortExpression
=
"Action"
>
<
ItemTemplate
>
<
asp:LinkButton
runat
=
"server"
ID
=
"lnkContractAction"
Text='<%# Eval("ContractId") %>' OnClick="OnContractSelected"
OnClientClick='<%# "return onContractSelected(" + Eval("ContractId") + ");" %>' />
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Assigned To"
>
<
ItemTemplate
>caadmin</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerikCustom:ContractListCustomFilter
DataField
=
"ContractId"
HeaderText
=
"Contract Id (Dev use)"
/>
<
telerikCustom:ContractListCustomFilter
DataField
=
"ContractOrderNumber"
HeaderText
=
"Contract Order Number"
/>
<
telerikCustom:ContractListCustomFilter
DataField
=
"Customer"
HeaderText
=
"Customer"
ReadOnly
=
"true"
/>
<
telerikCustom:ContractListCustomFilter
DataField
=
"MarketState"
HeaderText
=
"State"
/>
<
telerikCustom:ContractListCustomFilter
DataField
=
"ContractStatus"
HeaderText
=
"Contract Status"
/>
<
telerikCustom:ContractListCustomFilter
DataField
=
"Price"
HeaderText
=
"Price"
/>
<
telerikCustom:ContractListCustomFilter
DataField
=
"MarginPerKwh"
HeaderText
=
"Margin Per Kwh"
ReadOnly
=
"true"
/>
<
telerikCustom:ContractListCustomFilter
DataField
=
"TermInMonths"
HeaderText
=
"Term (in Months)"
/>
<
telerikCustom:ContractListCustomFilter
DataField
=
"StartDate"
HeaderText
=
"Start Date"
/>
<
telerikCustom:ContractListCustomFilter
DataField
=
"TermUsageInMWh"
HeaderText
=
"Term Usage (in MWhs)"
/>
<
telerikCustom:ContractListCustomFilter
DataField
=
"SalesRep"
HeaderText
=
"Sales Rep"
/>
<
telerikCustom:ContractListCustomFilter
DataField
=
"LastNote"
HeaderText
=
"Notes"
/>
<
telerikCustom:ContractListCustomFilter
DataField
=
"Priority"
HeaderText
=
"Priority"
/>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>