1

WPF でラムダを使用して 2 つの列を表示することに関する質問を投稿しましたが、優れた提案を受け取りましたが、物事をより複雑にしようとしていたと思われるため、別のアプローチをとっています。私の Silverlight ビジネス アプリケーションは、datagrid1使用して

DBDomainContext context = new DBDomainContext();

dataGrid1.ItemsSource = context.DBTables;
context.Load(context.GetDataBasesQuery());

このGetDataBasesQuery()メソッドは、domainservices.cs で次のように定義されています。

public IQueryable<DBTable>GetDataBases()
 {
 return this.ObjectContext.DBTables;
 }

これによりdatagrid1、10 列が入力されます。AutoGenerateColumns="True"

そして、次のように列を非表示にできます。

void DGPro_AutoGeneratingColumnForDB(object sender, DataGridAutoGeneratingColumnEventArgs e)
 {
if (e.PropertyName == "col1")
                e.Cancel = true;

if (e.PropertyName == "col2")
                e.Cancel = true;

}

ユーザー入力に基づいてそれらを非表示にするにはどうすればよいですか? ユーザーが非表示にする col1 または col2 を選択するためのチェックボックスを使用したいと思います。よろしくお願いいたします。

4

1 に答える 1