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);
これはとても簡単で美しい解決策だと思います!これがお役に立てば幸いです。