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);
}
#endregion
Here 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
>