I don't know how this has been missed in the documentation. Alternatively, it's well hidden in some obscure place. I'm trying to filter a column of a detail table using a static radcombobox. Using the instructions from the "Filter Template" documentation (http://docs.telerik.com/devtools/aspnet-ajax/controls/grid/functionality/filtering/filter-template) I'm not seeing any filtering in action on the detail table. The documentation for "Detail Tables Filtering" is rather useless (http://docs.telerik.com/devtools/aspnet-ajax/controls/grid/functionality/filtering/detail-tables-filtering).
Someone show me where I'm going wrong?
<telerik:RadGrid ID="rgdepots" runat="server"AutoGenerateColumns="False"DataSourceID="depots"AllowFilteringByColumn="True"AllowSorting="True" Height="900px"OnItemDataBound="rgdepots_ItemDataBound" EnableLinqExpressions="false"><GroupingSettings CollapseAllTooltip="Collapse all groups"></GroupingSettings><ClientSettings><Scrolling AllowScroll="True" UseStaticHeaders="True" /></ClientSettings><MasterTableView DataKeyNames="dID" DataSourceID="depots"><DetailTables><telerik:GridTableView runat="server"Name="rgIncidents"AllowAutomaticInserts="true"AllowAutomaticUpdates="True"DataKeyNames="iID"DataSourceID="sql"EditMode="PopUp"AutoGenerateColumns="False"AllowPaging="True"PageSize="30"CommandItemDisplay="Top" EditFormSettings-FormMainTableStyle-Width="480px" EditFormSettings-FormStyle-Width="490px"><EditFormSettings EditFormType="Template"><FormTemplate><table><tr><td>Date</td><td><telerik:RadDatePicker ID="iDatePick" runat="server" DbSelectedDate='<%# Bind("iDate") %>'></telerik:RadDatePicker></td></tr><tr><td colspan="3" style="text-align: center; border-bottom: 1px solid black;">Forms</td></tr><tr style="text-align: center;"><td>Notification</td><td>Accident</td><td>Interview</td></tr><tr style="text-align: center;"><td><telerik:RadCheckBox ID="chkNotification" runat="server" Checked='<%# Bind("iNotificationForm") %>'></telerik:RadCheckBox></td><td><telerik:RadCheckBox ID="chkAccident" runat="server" Checked='<%# Bind("iAccidentForm") %>'></telerik:RadCheckBox></td><td><telerik:RadCheckBox ID="chkInterview" runat="server" Checked='<%# Bind("iInterviewForm") %>'></telerik:RadCheckBox></td></tr><tr><td>Damage to</td><td><telerik:RadCheckBox ID="chkClarkeDamage" runat="server" Text="Clarkes" Checked='<%# Bind("iDamageClarkes") %>'></telerik:RadCheckBox></td><td><telerik:RadCheckBox ID="chkOtherDamage" runat="server" Text="3rd Party" Checked='<%# Bind("iDamageThirdParty") %>'></telerik:RadCheckBox></td></tr><tr><td>Repaired by</td><td><telerik:RadCheckBox ID="chkClarkeRepair" runat="server" Text="Clarkes" Checked='<%# Bind("iRepairedClarkes") %>'></telerik:RadCheckBox></td><td><telerik:RadCheckBox ID="chkOtherRepair" runat="server" Text="3rd Party" Checked='<%# Bind("iRepairedThirdParty") %>'></telerik:RadCheckBox></td></tr><tr><td>Costs</td><td>Estimated <telerik:RadTextBox ID="txtEstCost" runat="server" Text='<%# Bind("iEstimate") %>'></telerik:RadTextBox></td><td>Actual <telerik:RadTextBox ID="txtActualCost" runat="server" Text='<%# Bind("iClarkesCost") %>'></telerik:RadTextBox></td></tr><tr><td>Costs Paid</td><td><telerik:RadCheckBox ID="chkPaid" runat="server" Checked='<%# Bind("iNotificationForm") %>'></telerik:RadCheckBox></td></tr><tr><td>Location</td><td colspan="2"><telerik:RadTextBox ID="txtLocation" runat="server" Width="320px" Text='<%# Bind("iLocation") %>'></telerik:RadTextBox></td></tr><tr><td>Description</td><td colspan="2"><telerik:RadTextBox ID="txtDescription" runat="server" Text='<%# Bind("iDescription") %>' TextMode="MultiLine" Width="320px"></telerik:RadTextBox></td></tr><tr><td>Driver</td><td><telerik:RadCheckBox ID="chkAware" runat="server" Text="Aware" Checked='<%# Bind("iDriverAware") %>'></telerik:RadCheckBox></td><td><telerik:RadCheckBox ID="chkFault" runat="server" Text="At Fault" Checked='<%# Bind("iDriverFault") %>'></telerik:RadCheckBox></td></tr><tr><td>AJG Reference</td><td><telerik:RadTextBox ID="txtAJG" runat="server" Text='<%# Bind("iAJGRef") %>'></telerik:RadTextBox></td></tr><tr><td>Depot</td><td><telerik:RadDropDownList ID="txtFK1dID" runat="server" DataSourceID="depots" DataTextField="dCode" DataValueField="dID" SelectedValue='<%# Bind("fk1_dID") %>'></telerik:RadDropDownList></td></tr><tr><td><telerik:RadDropDownList ID="rgEddlDriver"runat="server" DataSourceID="sqlDriver" SelectedValue='<%# Bind("fk2_dID") %>' DataTextField="dName" DataValueField="dID" AppendDataBoundItems="true"><Items><telerik:DropDownListItem Value="-1" Text="Select One" /></Items></telerik:RadDropDownList></td><td><telerik:RadDropDownList ID="rgEddlCab" runat="server" DataSourceID="sqlCab" SelectedValue='<%# Bind("fk3_cID") %>' DataTextField="cReg" DataValueField="cID" AppendDataBoundItems="true"><Items><telerik:DropDownListItem Value="-1" Text="Select One" /></Items></telerik:RadDropDownList></td><td><telerik:RadDropDownList ID="rgEddlTrailer" runat="server" DataTextField="tRef" DataValueField="tID" AppendDataBoundItems="true"><Items><telerik:DropDownListItem Value="-1" Text="Select One" /></Items></telerik:RadDropDownList></td></tr><tr><td><asp:Button ID="btnUpdate" Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>' runat="server" CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>'></asp:Button></td><td> </td><td><asp:Button ID="btnCancel" Text="Cancel" runat="server" CausesValidation="False" CommandName="Cancel"></asp:Button></td></tr></table></FormTemplate></EditFormSettings><ParentTableRelation><telerik:GridRelationFields DetailKeyField="fk1_dID" MasterKeyField="dID" /></ParentTableRelation><Columns><telerik:GridEditCommandColumn></telerik:GridEditCommandColumn><telerik:GridTemplateColumn DataField="iID" DataType="System.Int32" FilterControlAltText="Filter iID column" HeaderText="ID" ReadOnly="True" SortExpression="iID" UniqueName="iID" ForceExtractValue="Always"><FilterTemplate></FilterTemplate><ItemTemplate><asp:Label ID="lblID" runat="server" Text='<%# string.Format("{0:00#}",Eval("iID")) %>'></asp:Label>/<asp:Label ID="lblDate" runat="server" Text='<%# string.Format("{0:yyyy}",Eval("iDate")) %>'></asp:Label></ItemTemplate></telerik:GridTemplateColumn><telerik:GridBoundColumn DataField="iDate" DataType="System.DateTime" FilterControlAltText="Filter iDate column" HeaderText="Date" SortExpression="iDate" UniqueName="iDate" DataFormatString="{0:d}" ForceExtractValue="Always"><FilterTemplate><table><tr><td>From</td><td><telerik:RadDateInput ID="fDateFrom" runat="server" Width="80"></telerik:RadDateInput></td></tr><tr><td>To</td><td><telerik:RadDateInput ID="fdateTo" runat="server" Width="80"></telerik:RadDateInput></td></tr></table></FilterTemplate></telerik:GridBoundColumn><telerik:GridCheckBoxColumn AllowFiltering="false" EnableHeaderContextMenu="false" ReadOnly="false" DataField="iNotificationForm" DataType="System.Boolean" HeaderText="Notification Form" UniqueName="iNotificationForm" ForceExtractValue="Always"></telerik:GridCheckBoxColumn><telerik:GridCheckBoxColumn DataField="iInterviewForm" AllowFiltering="false" DataType="System.Boolean" FilterControlAltText="Filter iInterviewForm column" HeaderText="Interview Form" SortExpression="iInterviewForm" UniqueName="iInterviewForm" ForceExtractValue="Always"></telerik:GridCheckBoxColumn><telerik:GridCheckBoxColumn DataField="iAccidentForm" AllowFiltering="false" DataType="System.Boolean" FilterControlAltText="Filter iAccidentForm column" HeaderText="Accident Form" SortExpression="iAccidentForm" UniqueName="iAccidentForm" ForceExtractValue="Always"></telerik:GridCheckBoxColumn><telerik:GridTemplateColumn HeaderText="Damage" UniqueName="iDamageClarkes" ForceExtractValue="Always"><FilterTemplate><telerik:RadTextBox ID="fTxtDamage" runat="server" Width="60"></telerik:RadTextBox></FilterTemplate><ItemTemplate><asp:Label ID="lblDamage" runat="server" Text='<%# Eval("iDamageClarkes").ToString() == "True" ? Eval("iDamageThirdParty").ToString() == "True" ? "Clarkes, Third Party" : "Clarkes" : Eval("iDamageThirdParty").ToString() == "True" ? "Third Party" : ""%>'></asp:Label></ItemTemplate></telerik:GridTemplateColumn><telerik:GridTemplateColumn DataField="iRepairedClarkes" DataType="System.Boolean" FilterControlAltText="Filter iRepairedClarkes column" HeaderText="Repaired by" SortExpression="iRepairedClarkes" UniqueName="iRepairedClarkes" ForceExtractValue="Always"><FilterTemplate><telerik:RadTextBox ID="fTxtRepaired" runat="server" Width="60"></telerik:RadTextBox></FilterTemplate><ItemTemplate><asp:Label ID="lblRepairs" runat="server" Text='<%# Eval("iRepairedClarkes").ToString() == "True" ? Eval("iRepairedThirdParty").ToString() == "True" ? "Clarkes, Third Party" : "Clarkes" : Eval("iRepairedThirdParty").ToString() == "True" ? "Third Party" : ""%>'></asp:Label></ItemTemplate></telerik:GridTemplateColumn><telerik:GridBoundColumn DataField="iEstimate" DataType="System.Decimal" FilterControlAltText="Filter iEstimate column" HeaderText="Estimate" SortExpression="iEstimate" UniqueName="iEstimate" ForceExtractValue="Always"><FilterTemplate><telerik:RadTextBox ID="fTxtEstimate" runat="server" Width="80"></telerik:RadTextBox></FilterTemplate></telerik:GridBoundColumn><telerik:GridBoundColumn DataField="iClarkesCost" DataType="System.Decimal" FilterControlAltText="Filter iClarkesCost column" HeaderText="ClarkesCost" SortExpression="iClarkesCost" UniqueName="iClarkesCost" ForceExtractValue="Always"><FilterTemplate><telerik:RadTextBox ID="fTxtCost" runat="server" Width="80"></telerik:RadTextBox></FilterTemplate></telerik:GridBoundColumn><telerik:GridCheckBoxColumn AllowFiltering="false" DataField="iPaid" DataType="System.Boolean" FilterControlAltText="Filter iPaid column" HeaderText="Paid" SortExpression="iPaid" UniqueName="iPaid" ForceExtractValue="Always"></telerik:GridCheckBoxColumn><telerik:GridBoundColumn DataField="iDescription" FilterControlAltText="Filter iDescription column" HeaderText="iDescription" SortExpression="Description" UniqueName="iDescription" ForceExtractValue="Always"></telerik:GridBoundColumn><telerik:GridBoundColumn DataField="iLocation" FilterControlAltText="Filter iLocation column" HeaderText="iLocation" SortExpression="Location" UniqueName="iLocation" ForceExtractValue="Always"></telerik:GridBoundColumn><telerik:GridTemplateColumn DataField="iDriverAware" HeaderText="Driver" UniqueName="iDriverAware" ForceExtractValue="Always" AllowFiltering="true"><FilterTemplate><telerik:RadComboBox ID="rcbFDriverAware" runat="server" AutoPostBack="true" ShowToggleImage="false" Width="80" OnSelectedIndexChanged="rcbFDriverAware_SelectedIndexChanged"><Items><telerik:RadComboBoxItem Text="Any" /><telerik:RadComboBoxItem Text="Aware" /><telerik:RadComboBoxItem Text="At Fault" /><telerik:RadComboBoxItem Text="Both" /></Items></telerik:RadComboBox></FilterTemplate><ItemTemplate><asp:Label ID="lblDriver" runat="server" Text='<%# Eval("iDriverAware").ToString() == "True" ? Eval("iDriverFault").ToString() == "True" ? "Aware, At Fault" : "Aware" : Eval("iDriverFault").ToString() == "True" ? "At Fault" : ""%>'></asp:Label></ItemTemplate></telerik:GridTemplateColumn><telerik:GridBoundColumn DataField="iDriverFault" UniqueName="iDriverFault" Display="false" AllowFiltering="true"></telerik:GridBoundColumn><telerik:GridBoundColumn DataField="iAJGRef" FilterControlAltText="Filter iAJGRef column" HeaderText="AJGRef" SortExpression="iAJGRef" UniqueName="AJGRef" ForceExtractValue="Always"></telerik:GridBoundColumn><telerik:GridTemplateColumn HeaderText="Depot" AllowFiltering="false" ForceExtractValue="Always"><ItemTemplate><telerik:RadDropDownList ID="rgddlDepot" runat="server" DataTextField="dCode" DataValueField="dID" Enabled="false" AppendDataBoundItems="true"><Items><telerik:DropDownListItem Value="-1" Text="Select One" /></Items></telerik:RadDropDownList></ItemTemplate></telerik:GridTemplateColumn><telerik:GridTemplateColumn HeaderText="Driver"><ItemTemplate><telerik:RadDropDownList ID="rgddlDriver" runat="server" DataTextField="dName" DataValueField="dID" Enabled="false" AppendDataBoundItems="true"><Items><telerik:DropDownListItem Value="-1" Text="Select One" /></Items></telerik:RadDropDownList></ItemTemplate></telerik:GridTemplateColumn><telerik:GridTemplateColumn HeaderText="Vehicle"><ItemTemplate><telerik:RadDropDownList ID="rgddlCab" runat="server" DataTextField="cReg" DataValueField="cID" Enabled="false" AppendDataBoundItems="true"><Items><telerik:DropDownListItem Value="-1" Text="Select One" /></Items></telerik:RadDropDownList></ItemTemplate></telerik:GridTemplateColumn><telerik:GridTemplateColumn HeaderText="Trailer"><ItemTemplate><telerik:RadDropDownList ID="rgddlTrailer" runat="server" DataTextField="tRef" DataValueField="tID" Enabled="false" AppendDataBoundItems="true"><Items><telerik:DropDownListItem Value="-1" Text="Select One" /></Items></telerik:RadDropDownList></ItemTemplate></telerik:GridTemplateColumn></Columns><EditFormSettings><EditColumn UniqueName="EditCommandColumn1" FilterControlAltText="Filter EditCommandColumn1 column"></EditColumn></EditFormSettings></telerik:GridTableView></DetailTables><Columns><telerik:GridBoundColumn DataField="dID" DataType="System.Int32" Display="False" FilterControlAltText="Filter dID column" HeaderText="dID" ReadOnly="True" SortExpression="dID" UniqueName="dID"></telerik:GridBoundColumn><telerik:GridBoundColumn DataField="dCode" AllowFiltering="false" FilterControlAltText="Filter dCode column" HeaderText="Code" SortExpression="dCode" UniqueName="dCode"></telerik:GridBoundColumn><telerik:GridBoundColumn DataField="dName" AllowFiltering="false" FilterControlAltText="Filter dName column" HeaderText="Name" SortExpression="dName" UniqueName="dName"></telerik:GridBoundColumn><telerik:GridBoundColumn DataField="Incidents" AllowFiltering="false" DataType="System.Int32" FilterControlAltText="Filter Incidents column" HeaderText="Incidents" ReadOnly="True" SortExpression="Incidents" UniqueName="Incidents"></telerik:GridBoundColumn></Columns></MasterTableView></telerik:RadGrid>
protected void rcbFDriverAware_SelectedIndexChanged( object sender,RadComboBoxSelectedIndexChangedEventArgs e ) { string fe; switch( e.Text ) { case "Any": fe = ""; break; case "Aware": fe = $"([iDriverAware] = 'true')"; break; case "At Fault": fe = $"([iDriverFault] = 'true')"; break; case "Both": fe = $"([iDriverAware] = 'true') AND ([iDriverFault] = 'true')"; break; default: fe = ""; break; } rgdepots.MasterTableView.DetailTables[0].FilterExpression = fe; rgdepots.MasterTableView.DetailTables[0].Rebind();}