or
<telerik:RadGrid ID="RadGrid1" runat="server" Width="50%" ShowStatusBar="true" AutoGenerateColumns="False" PageSize="50" AllowSorting="True" AllowMultiRowSelection="False" AllowPaging="True" OnDetailTableDataBind="RadGrid1_DetailTableDataBind" OnNeedDataSource="RadGrid1_NeedDataSource" OnPreRender="RadGrid1_PreRender"> <PagerStyle Mode="NumericPages"></PagerStyle> <MasterTableView Width="100%" DataKeyNames="ServiceName" AllowMultiColumnSorting="True"> <DetailTables> <telerik:GridTableView DataKeyNames="MethodName" Name="MethodName" Width="100%"> <DetailTables> <telerik:GridTableView DataKeyNames="ParameterName" Name="ParameterName" Width="100%"> <Columns> <telerik:GridBoundColumn SortExpression="ParameterName" HeaderText="Parameter Name" HeaderButtonType="TextButton" DataField="ParameterName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="ParameterType" HeaderText="Parameter Type" HeaderButtonType="TextButton" DataField="ParameterType"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="Parameter Value" UniqueName="ParamWrapper"> <ItemTemplate> <asp:TextBox runat="server" ID="ParameterValue" Text='<%# DataBinder.Eval(Container.DataItem, "ParameterValue") %>'></asp:TextBox> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </telerik:GridTableView> </DetailTables> <Columns> <telerik:GridBoundColumn SortExpression="MethodName" HeaderText="Method Name" HeaderButtonType="TextButton" DataField="MethodName" UniqueName="MethodName"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="Status"> <ItemTemplate> <asp:Button runat="server" ID="btnMethodStatus" OnClick="btnMethodStatus_OnClick" Text="-"></asp:Button> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Elapsed time"> <ItemTemplate> <asp:Label runat="server" ID="lblElapsedTime" Text="0"> </asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Last executed on"> <ItemTemplate> <asp:Label runat="server" ID="lblLastTimeExecuted" Text="-"> </asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </telerik:GridTableView> </DetailTables> <Columns> <telerik:GridBoundColumn SortExpression="ServiceName" HeaderText="Service Name" HeaderButtonType="TextButton" DataField="ServiceName"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="Status"> <ItemTemplate> <asp:Button runat="server" ID="btnServiceStatus" OnClick="btnServiceStatus_OnClick" Text="-"></asp:Button> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Elapsed time"> <ItemTemplate> <asp:Label runat="server" ID="lblElapsedTime" Text="0"> </asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Last executed on"> <ItemTemplate> <asp:Label runat="server" ID="lblLastTimeExecuted" Text="-"> </asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </MasterTableView> </telerik:RadGrid>protected void RadGrid1_DetailTableDataBind(object source, Telerik.Web.UI.GridDetailTableDataBindEventArgs e) { GridDataItem dataItem = (GridDataItem)e.DetailTableView.ParentItem; switch (e.DetailTableView.Name) { case "MethodName": { e.DetailTableView.DataSource = Method.GetMethods((string)dataItem.GetDataKeyValue("ServiceName")); break; } case "ParameterName": { //TODO: Get ParentItem e.DetailTableView.DataSource = Parameter.GetParameters((string)dataItem.GetDataKeyValue("MethodName"), (string)parentItem.GetDataKeyValue("ServiceName")); break; } } }// SqlConnection sqlconn = ......// Dataset, fill etc ...// Findcontrol grid in pnl1grid1.Datasource = ds.Tables[0];grid1.DataBind();// Findcontrol grid in pnl2grid2.Datasource = ds.Tables[1];grid2.DataBind();//etc<telerik:RadAjaxManager ID="RadAjaxManagerProxy1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="Execute"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="pnl1" /> <telerik:AjaxUpdatedControl ControlID="pnl2" /> <telerik:AjaxUpdatedControl ControlID="pnl3" /> ....... </UpdatedControls> </telerik:AjaxSetting></telerik:RadAjaxManager><asp:Panel ID="pnl1" runat="server" Visible="false"> <uc:Grid ID="Grid1" runat="server" /></asp:Panel><asp:Panel ID="pnl2" runat="server" Visible="false"> <uc:Grid ID="Grid2" runat="server" /> </asp:Panel>...
The following code somehow does not display the filtering for columns ID and First Name in the grid. Does it require any code behind or anything for it to show filtering? I just want a very simple filtering for the grid columns.
<telerik:RadAjaxManagerProxy ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadGrid1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManagerProxy> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" /> <telerik:RadWindowManager ID="RadWindowManager1" runat="server" /> <telerik:RadAjaxPanel ID="RadAjaxPanel1" LoadingPanelID="RadAjaxLoadingPanel1" runat="server" > <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False" PageSize="7" AllowFilteringByColumn="true" AllowSorting="True" AllowPaging="True" ShowStatusBar="True" GridLines="None" OnNeedDataSource="RadGrid1_NeedDataSource" OnPreRender="RadGrid1_PreRender"> <MasterTableView DataKeyNames="Id" AllowMultiColumnSorting="True" TableLayout="Fixed" CommandItemDisplay="Top" AllowFilteringByColumn="True"> <Columns> <telerik:GridBoundColumn ReadOnly="True" HeaderText="ID" DataField="id" SortExpression="id" UniqueName="id" /> <telerik:GridBoundColumn HeaderText="First Name" DataField="Name" SortExpression="name" UniqueName="Name" /> </Columns> </MasterTableView> <FilterMenu EnableImageSprites="False" /> </telerik:RadGrid> </telerik:RadAjaxPanel>