【问题标题】:DevExpress DataGrid's ColumnChooserDevExpress DataGrid 的 ColumnChooser
【发布时间】:2012-06-12 01:30:09
【问题描述】:

我使用 AutoPopulateColumns 系统在 DataGrid 上显示我的结构。是否有任何属性的属性可以在 ColumnChooser 窗口上显示属性,而不是在网格上?

谢谢。

【问题讨论】:

  • 你想显示哪个属性..问题不太清楚..请详细说明..
  • 我需要在 ColumnChooser 表单上而不是在网格上显示我的类的属性,并且我使用 AutoPopulateColumns,所以有没有像“DisplayName”或“Browsable”这样的属性?

标签: wpf datagrid devexpress column-chooser


【解决方案1】:

好的,我找不到这样的默认属性,所以我创建了自己的空属性,称之为“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);

我认为这是一个非常简单而漂亮的解决方案!希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 2013-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多