This is a migrated thread and some comments may be shown as answers.

Filtering using FilterDescriptor opens All the Nodes

1 Answer 73 Views
TreeListView
This is a migrated thread and some comments may be shown as answers.
gans
Top achievements
Rank 1
gans asked on 18 Jun 2013, 11:45 PM
I have a problem where after applying the Filter, it opens up all the nodes. 

I am using FilterDescriptor.

We have a Huge Tree and we don't want the Tree and its children  to open after applying the Filter. Any idea how to stop it from opening after applying the Filter?

I am not able to attach the project, but will attach the screen shot. 

Here is code snippet. 

private void RadContextMenu_ItemClick(object sender, Telerik.Windows.RadRoutedEventArgs e)
        {
            if ((e.OriginalSource as RadMenuItem).Header.Equals("Show Spain"))
            {
                FilterDescriptor descriptor = new FilterDescriptor();
                descriptor.Member = "Country";
                descriptor.Operator = FilterOperator.IsEqualTo;
                descriptor.Value = "Spain";
                this.RadTreeListView1.FilterDescriptors.Add(descriptor);
            }
 
            CompositeFilterDescriptor mainFilter = new CompositeFilterDescriptor();
 
            if ((e.OriginalSource as RadMenuItem).Header.Equals("Show England"))
            {
                FilterDescriptor descriptor = new FilterDescriptor();
                descriptor.Member = "Country";
                descriptor.Operator = FilterOperator.IsEqualTo;
                descriptor.Value = "England";
                mainFilter.FilterDescriptors.Add(descriptor);
                this.RadTreeListView1.FilterDescriptors.Add(mainFilter);
            }
            if ((e.OriginalSource as RadMenuItem).Header.Equals("Show England - France"))
            {
                mainFilter = new CompositeFilterDescriptor();
                mainFilter.LogicalOperator = FilterCompositionLogicalOperator.Or;
                FilterDescriptor descriptor = new FilterDescriptor();
                descriptor.Member = "Country";
                descriptor.Operator = FilterOperator.IsEqualTo;
                descriptor.Value = "England";
 
                mainFilter.FilterDescriptors.Add(descriptor);
                descriptor = new FilterDescriptor();
                descriptor.Member = "Country";
                descriptor.Operator = FilterOperator.IsEqualTo;
                descriptor.Value = "France";
 
                mainFilter.FilterDescriptors.Add(descriptor);
 
                this.RadTreeListView1.FilterDescriptors.Add(mainFilter);
            }
 
            if ((e.OriginalSource as RadMenuItem).Header.Equals("Clear Filter"))
            {
                this.RadTreeListView1.FilterDescriptors.RemoveAt(0);
            }
             
        }

1 Answer, 1 is accepted

Sort by
0
Yoan
Telerik team
answered on 21 Jun 2013, 01:15 PM
Hello,

We have already answered to the forum thread you started on the same topic.

Regards,
Yoan
Telerik

Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

Tags
TreeListView
Asked by
gans
Top achievements
Rank 1
Answers by
Yoan
Telerik team
Share this question
or