如何过滤TreeViewAdv与RecordFilters

本文关键字:TreeViewAdv RecordFilters 过滤 何过滤 | 更新日期: 2023-09-27 18:08:11

我是c#和SyncFusion的新手,非常感谢您的帮助。

过滤gridGroupingControl后,我需要在TreeViewPresenter(TreeViewAdv)中显示正确的记录。

首先,我想获得过滤器:

detailGroupingControl.TableDescriptor.RecordFilters

并在TreeViewPresenter中设置这些过滤器,但似乎它不像那样工作。是否存在与gridGroupingControl相同的过滤条件的简单方法来过滤树?

如何过滤TreeViewAdv与RecordFilters

如果您想将RecordFilters从一个TreeView节点添加到另一个TreeView节点,您必须在列表中添加网格的对象。使用这个列表,过滤可以反映到所有的TreeView节点。请参考以下代码和示例,

//Used to save the objects of all grids
List<GridGroupingControl> grids = new List<GridGroupingControl>();
//add the grid to the list
grids.Add(GridGroupingControl);
void RecordFilters_Changed(object sender, Syncfusion.Collections.ListPropertyChangedEventArgs e)
{
    Syncfusion.Grouping.RecordFilterDescriptorCollection filters = sender as RecordFilterDescriptorCollection;
    foreach (GridGroupingControl grid in grids)
    {
        foreach(RecordFilterDescriptor filter in filters)
        {
            //To avoid the repeated objects from the list
            if (grid.TableDescriptor.RecordFilters.Contains(filter))
                continue;
            grid.TableDescriptor.RecordFilters.Add(filter);
        }
    }
}