Hi,
I have two checkboxs that, when checked, apply or remove custom filters. The filters work fine (mostly), only problem is that the first time FilterDescriptors.Clear(); is called all the rows in the grid dissapear. On any subsequent calls it works as expected.
Both checkboxes call the following method:
#region private void HandleCheckBoxFilters()private void HandleCheckBoxFilters(){ bool? PaidInFullChecked = CheckBox_PaidInFull.IsChecked; bool? Show60PaymentsOnlyChecked = CheckBox_FixedAmount.IsChecked; //RadGridView_TrusteeLedgers.FilterDescriptors.Clear(); CompositeFilterDescriptor compositeDescriptor = new CompositeFilterDescriptor(); compositeDescriptor.LogicalOperator = FilterCompositionLogicalOperator.And; RadGridView_TrusteeLedgers.FilterDescriptors.Clear(); if (PaidInFullChecked == true) { FilterDescriptor filterDescriptor_PaidInFull = new FilterDescriptor(); filterDescriptor_PaidInFull.Member = "PaidInFull"; filterDescriptor_PaidInFull.Operator = FilterOperator.IsEqualTo; filterDescriptor_PaidInFull.Value = true; filterDescriptor_PaidInFull.IsCaseSensitive = false; compositeDescriptor.FilterDescriptors.Add(filterDescriptor_PaidInFull); } if (Show60PaymentsOnlyChecked == true) { FilterDescriptor filterDescriptor_FixedAmount = new FilterDescriptor(); filterDescriptor_FixedAmount.Member = "TotalRemaining"; filterDescriptor_FixedAmount.Operator = FilterOperator.IsEqualTo; filterDescriptor_FixedAmount.Value = Convert.ToDecimal(60); filterDescriptor_FixedAmount.IsCaseSensitive = false; compositeDescriptor.FilterDescriptors.Add(filterDescriptor_FixedAmount); } RadGridView_TrusteeLedgers.FilterDescriptors.Add(compositeDescriptor);} #endregionHere is my Xaml
<DockPanel Name="DockPanel_Content_CenterDock" HorizontalAlignment="Stretch" Margin="2" Grid.Row="2" Grid.Column="0" > <telerik:RadBusyIndicator x:Name="RadBusyIndicator_TrusteeLedgerContent" BusyContent="Loading data..."> <telerik:RadGridView Name="RadGridView_TrusteeLedgers" DataLoadMode="Asynchronous" IsFilteringAllowed="False" ShowGroupPanel="False" telerikControls:Theming.Theme="Office_Blue" EnableRowVirtualization="True" AutoGenerateColumns="False" SelectionUnit="FullRow" SelectionMode="Single" SelectionChanged="RadGridView_TrusteeLedgers_SelectionChanged"> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn Header="Case Number" DataMemberBinding="{Binding CaseNumber}" Width="100" IsReadOnly="True" /> <telerik:GridViewDataColumn Header="Trustee" DataMemberBinding="{Binding TrusteeCode}" Width="75" IsReadOnly="True" /> <telerik:GridViewDataColumn Header="Case Title" DataMemberBinding="{Binding CaseTitle}" Width="200" IsReadOnly="True" /> <telerik:GridViewDataColumn Header="Prev Chapter" DataMemberBinding="{Binding PreviousChapter}" Width="75" IsReadOnly="True" /> <telerik:GridViewDataColumn Header="Chapter" DataMemberBinding="{Binding Chapter}" Width="75" IsReadOnly="True" /> <telerik:GridViewDataColumn Header="Closed" DataMemberBinding="{Binding CaseIsClosed, Converter={StaticResource BooleanToStringConverter}}" Width="75" IsReadOnly="True" /> <telerik:GridViewDataColumn Header="NoticeFiled" DataMemberBinding="{Binding NoticeFiled, Converter={StaticResource BooleanToStringConverter}}" Width="75" IsReadOnly="True"/> <telerik:GridViewDataColumn Header="PaidInFull" DataMemberBinding="{Binding PaidInFull, Converter={StaticResource BooleanToStringConverter}}" Width="75" IsReadOnly="True" /> <telerik:GridViewDataColumn Header="Amount" DataMemberBinding="{Binding TotalRemaining}" DataFormatString="{}{0:c}" Width="75" IsReadOnly="True" /> <telerik:GridViewColumn Header="Voucher" > <telerik:GridViewColumn.CellTemplate> <DataTemplate> <CheckBox IsChecked="{Binding VoucherRequested}" Width="75" /> </DataTemplate> </telerik:GridViewColumn.CellTemplate> </telerik:GridViewColumn> </telerik:RadGridView.Columns> <telerik:RadGridView.SortDescriptors> <telerik:SortDescriptor Member="TransactionDate" SortDirection="Ascending"></telerik:SortDescriptor> </telerik:RadGridView.SortDescriptors> <!--<telerik:RadGridView.GroupDescriptors> <telerik:GroupDescriptor Member="OfficeName" SortDirection="Descending" DisplayContent="Office Name"> <telerik:GroupDescriptor.AggregateFunctions> <telerik:SumFunction Caption="Office Total" SourceField="TotalNonRegistry" ResultFormatString="{}{0:c}"></telerik:SumFunction> </telerik:GroupDescriptor.AggregateFunctions> </telerik:GroupDescriptor> </telerik:RadGridView.GroupDescriptors>--> </telerik:RadGridView> </telerik:RadBusyIndicator></DockPanel>
