Windows Fomrs の DataGridView に DataTable をバインドするサンプルの紹介です。ダウンロードリンクは記事下部に掲載しています。
実装コード
下記実装では、次の処理を行っています。
1.DataTable とダミーデータをリターンする関数を作成します。
2.フォームのロードタイミングで、1の関数を呼び出し、DataGridView の DataSource プロパティにダミーデータをバインドします。
1.ダミーデータ生成
private DataTable getData() { DataColumn[] primaryColumn = new DataColumn[1]; DataTable dataTable = new DataTable(); primaryColumn[0] = dataTable.Columns.Add("ID", typeof(int)); dataTable.Columns.Add("Name", typeof(string)); dataTable.Columns.Add("Age", typeof(int)); dataTable.Rows.Add(1, "じゅんや", 23); dataTable.Rows.Add(2, "きょうこ", 25); dataTable.Rows.Add(3, "えみ", 24); dataTable.Rows.Add(4, "たつや", 28); dataTable.Rows.Add(5, "なおき", 33); dataTable.Rows.Add(6, "ゆうか", 25); dataTable.Rows.Add(7, "まゆみ", 24); dataTable.PrimaryKey = primaryColumn; return dataTable; }
2.ダミーデータのバインド
private void Form1_Load(object sender, EventArgs e) { this.dataGridView1.DataSource = getData(); }
実行結果
DataGridView に DataTable をバインドすると、DataGridView 側でバインドデータのスキーマを読み取り、自動的に列ヘッダーのラベルに、DataTable の列名を表示してくれます。また、列のソートやセル編集などの機能が自動的に有効化されています。
サンプルダウンロード
フレームワークは .NET 8 を利用しています。.NET Framework を利用される場合、先の実装コードをそのまま利用いただければと思います。