DevExpress DataGrid的ColumnChooser

时间:2012-06-12 01:30:09

标签: wpf datagrid devexpress column-chooser

我使用Auto Populate Columns系统在DataGrid上显示我的结构。是否有任何属性的属性在列选择器窗口上显示属性,而不是在网格上?

感谢。

1 个答案:

答案 0 :(得分:0)

好的,我找不到这样的默认属性,所以我创建了自己的空属性,称之为“ShowInColumnChooserAttribute”。

标记我在dataGrid上不需要的所有属性,但需要具有此属性的ColumnChooser

在dataGrid的事件“ColumnsPopulated”中执行下一步:

        var hiddenList = new List<string>();
        var r = dataTable.ItemsSource.GetType().GetGenericArguments()[0];
        foreach (var prop in r.GetProperties())
            if (prop.GetCustomAttributes(typeof(ShowInColumnChooserAttribute), true).Length > 0)
                hiddenList.Add(prop.Name);
        foreach (var column in ((DevExpress.Xpf.Grid.GridControl)sender).Columns)
                column.Visible = !hiddenList.Contains(column.FieldName);

我认为这是非常简单而美观的解决方案!希望这会有所帮助!