I have a grid where one of the columns is bound to a foreign key object.
When I use the built in grid filtering I am able to filter that column. However when I try to filter with code:
When I add the CompositeFilter the notesListGridView.FilterDescriptors I get an InvalidCastException:
Invalid cast from 'System.String' to 'CoreDataServiceReference.Employee_Note_Type'.
How can I apply a filter to the foreign key object in the code?
<telerik:RadGridView Margin="2,38,2,2" Name="notesListGridView" CanUserInsertRows="False" CanUserDeleteRows="False" IsReadOnly="True" AutoGenerateColumns="False" TabIndex="5" SelectionMode="Extended" > <telerik:RadGridView.Columns> <telerik:GridViewDataColumn UniqueName="Employee_Note_Date" Header="Date" Width="120" DataMemberBinding="{Binding Employee_Note_Date, StringFormat=d}" CellStyle="{StaticResource CustomCellStyle}" /> <telerik:GridViewDataColumn UniqueName="Employee_Note_Types" Header="Type" Width="200" DataMemberBinding="{Binding Employee_Note_Types, Path=Employee_Note_Types.Description}" CellStyle="{StaticResource CustomCellStyle}" /> <telerik:GridViewDataColumn UniqueName="Notes" Header="Notes" Width="*" DataMemberBinding="{Binding Notes}" TextWrapping="Wrap" CellStyle="{StaticResource CustomCellStyle}"></telerik:GridViewDataColumn> </telerik:RadGridView.Columns></telerik:RadGridView>When I use the built in grid filtering I am able to filter that column. However when I try to filter with code:
string searchTxt = searchTextBox.Text;notesListGridView.FilterDescriptors.Clear();CompositeFilterDescriptor compositeDescriptor = new CompositeFilterDescriptor();compositeDescriptor.LogicalOperator = FilterCompositionLogicalOperator.Or;foreach (Telerik.Windows.Controls.GridViewColumn column in notesListGridView.Columns){ if (column.IsVisible) { GridViewDataColumn col = (GridViewDataColumn)column; if (col.DataType.ToString() == "System.String") { compositeDescriptor.FilterDescriptors.Add(new FilterDescriptor(column.UniqueName, FilterOperator.Contains, searchTxt, false)); } }}notesListGridView.FilterDescriptors.Add(compositeDescriptor);When I add the CompositeFilter the notesListGridView.FilterDescriptors I get an InvalidCastException:
Invalid cast from 'System.String' to 'CoreDataServiceReference.Employee_Note_Type'.
How can I apply a filter to the foreign key object in the code?