Xceed 数据网格控制如何隐藏组描述中的列

本文关键字:隐藏 描述 数据网 数据 网格 控制 何隐藏 Xceed | 更新日期: 2023-09-27 17:56:24

我试图从 DataGridControl 中隐藏一列,当它是 GroupDescription。 有没有一些我不知道的简单方法?

列的 Visible 属性似乎是一个很好的起点,但我无法弄清楚我可以绑定到 XAML 的内容才能使其像我想要的那样运行。

Xceed 数据网格控制如何隐藏组描述中的列

如果有人感兴趣,这就是我完成此操作的方式:

public class CustomDataGridControl : DataGridControl
{
    public CustomDataGridControl()
    {
        var groupLevelDescriptions = (INotifyCollectionChanged)this.GroupLevelDescriptions;
        groupLevelDescriptions.CollectionChanged += collectionChanged_CollectionChanged;
    }
    void collectionChanged_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
    {
        if (e.NewItems != null)
        { 
            foreach (var item in e.NewItems)
            {
                var groupLevelDescription = item as GroupLevelDescription;
                foreach (var column in this.Columns)
                {
                    if (column.FieldName == groupLevelDescription.FieldName)
                        column.Visible = false;
                }
            }
        }
        if (e.OldItems != null)
        {
            foreach (var item in e.OldItems)
            {
                var groupLevelDescription = item as GroupLevelDescription;
                foreach (var column in this.Columns)
                {
                    if (column.FieldName == groupLevelDescription.FieldName)
                        column.Visible = true;
                }
            }
        }
    }
}