私はその中にSilverlight 5.0アプリを持ってPagedCollectionView
います。ObservableCollection
にバインドPagedCollectionView
しましたDataGrid
。
従業員のすべてのプロパティを表示したくありませんdatagrid
そして、私は自分のコラムを自分でアレンジしたいPagedCollectionView
しかし、私はそれを行う方法がわかりません
助けてください。
私はその中にSilverlight 5.0アプリを持ってPagedCollectionView
います。ObservableCollection
にバインドPagedCollectionView
しましたDataGrid
。
従業員のすべてのプロパティを表示したくありませんdatagrid
そして、私は自分のコラムを自分でアレンジしたいPagedCollectionView
しかし、私はそれを行う方法がわかりません
助けてください。
それには 2 つの方法があります。どちらのシナリオでも、 AutoGenerateColumn を falseに設定する必要があります。
*編集*
grid.ItemsSource = Product.GetProducts(200);
grid.AutoGeneratingColumn += grid_AutoGeneratingColumn;
void grid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e) { string headername = e.Column.Header.ToString();
switch (headername)
{
case "Line":
case "Color":
e.Cancel = true; //Cancel the columns don't want to generate
break;
case "Name":
e.Column.Header = "Name Modified";
e.Column.DisplayIndex = 1;
break;
case "Price":
e.Column.Header = "Price header";
e.Column.DisplayIndex = 0;
break;
default:
e.Cancel = true;
break;
}
}
例からわかるように、Price は Name の後に来ますが、ヘッダーを変更しただけでなく、表示順序も変更しました。実行すると、価格が最初の列に表示され、名前が 2 番目の列に表示され、他のすべての列が表示されなくなります。
http://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid.autogeneratingcolumn(v=vs.95).aspx
お役に立てれば。