データバインディングとDataGridView

C#では、データバインディングをサポートするBindingList<T>クラスがある。

このBindingList<T>クラスはユーザー情報をリストとして表示する際などDadaGridViewと併用するケースが多いのではないだろうか。

 

BindingList<T>のTはジュネリックと呼ばれ、型に依存しないことを指す。

List<T>, Dictionary<T, T>などもこのジェネリック型を用いており、List<int>, List<string>など型に依存しないリスト型を作成することができる。

 

DataGridのDataSourceにBindingList<T>で作成したインスタンス_bindingListを代入する。

DataGrid.DataSource = _bindingList;

これでDataGridに_bindingListの内容が反映される。

ただし、このままだと列名が_bindingListのプロパティ名であるのでこれを修正するには、

DataGrid.Columns[0].HeaderText = "列名1";

などColmuns内のHeaderTextを書き換える必要がある。