我使用Auto Populate Columns系统在DataGrid上显示我的结构。是否有任何属性的属性在列选择器窗口上显示属性,而不是在网格上?
感谢。
答案 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);
我认为这是非常简单而美观的解决方案!希望这会有所帮助!