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 を選択するためのチェックボックスを使用したいと思います。よろしくお願いいたします。