如何使用 RecordFilters 过滤 TreeViewAdv

How to filter TreeViewAdv with RecordFilters

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

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

首先,我考虑使用以下过滤器:

detailGroupingControl.TableDescriptor.RecordFilters

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

如果要将 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);
        }
    }
}