Selecting a filter that shows less data seems to remove this data. Selecting another filter that should bring this data back does not do it. The goal is to have client-side filtering.
Here are the JS filters triggered by buttons:
function Filter1() {
$find("<%= TheRadGrid.ClientID %>").get_masterTableView().filter("Data1", true, Telerik.Web.UI.GridFilterFunction.EqualTo);
}
function Filter2() {
$find("<%= TheRadGrid.ClientID %>").get_masterTableView().filter("Data2", false, Telerik.Web.UI.GridFilterFunction.EqualTo);
}
function Filter3() {
$find("<%= TheRadGrid.ClientID %>").get_masterTableView().filter("Data3", true, Telerik.Web.UI.GridFilterFunction.EqualTo);
}
Here is the RadGrid:
<telerik:RadGrid RenderMode="Lightweight" ID="TheRadGrid" runat="server" OnNeedDataSource="TheRadGrid_NeedDataSource" AutoGenerateColumns="False" AllowSorting="True" AllowMultiRowSelection="true" AllowPaging="True" GroupingSettings-CaseSensitive="false" Skin="Default" ClientSettings-Selecting-AllowRowSelect="true">
<MasterTableView DataKeyNames="Id" AllowFilteringByColumn="true">
<Columns>
<telerik:GridBoundColumn UniqueName="Data1" DataField="Data1" HeaderText="Data1" AllowFiltering="true" AutoPostBackOnFilter="true"></telerik:GridBoundColumn>
<telerik:GridBoundColumn UniqueName="Data2" DataField="Data2" HeaderText="Data2" AllowFiltering="true" AutoPostBackOnFilter="true"></telerik:GridBoundColumn>
<telerik:GridBoundColumn UniqueName="Data3" DataField="Data3" HeaderText="Data3" AllowFiltering="true" AutoPostBackOnFilter="true"></telerik:GridBoundColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
Some code-behind:
protected void TheRadGrid_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
TheRadGrid.DataSource = SourceClassObject;
}
What could be missing here?