我使用 AutoPopulateColumns 系统在 DataGrid 上显示我的结构。是否有任何属性的属性可以在 ColumnChooser 窗口上显示属性,而不是在网格上?
谢谢。
我使用 AutoPopulateColumns 系统在 DataGrid 上显示我的结构。是否有任何属性的属性可以在 ColumnChooser 窗口上显示属性,而不是在网格上?
谢谢。
好的,我找不到这样的默认属性,所以我创建了自己的空属性,称之为“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);
我认为这是非常简单和漂亮的解决方案!希望这会有所帮助!