DataGridView に DataTable をバインドする(サンプルあり)
📋 目次(クリックで展開)
Windows Fomrs の DataGridView に DataTable をバインドするサンプルの紹介です。ダウンロードリンクは記事下部に掲載しています。
実装コード
下記実装では、次の処理を行っています。
- DataTable とダミーデータをリターンする関数を作成します。
- フォームのロードタイミングで、1の関数を呼び出し、DataGridView の DataSource プロパティにダミーデータをバインドします。
ダミーデータ生成
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;}ダミーデータのバインド
private void Form1_Load(object sender, EventArgs e){ this.dataGridView1.DataSource = getData();}実行結果
DataGridView に DataTable をバインドすると、DataGridView 側でバインドデータのスキーマを読み取り、自動的に列ヘッダーのラベルに、DataTable の列名を表示してくれます。また、列のソートやセル編集などの機能が自動的に有効化されています。

サンプルダウンロード
フレームワークは .NET 8 を利用しています。.NET Framework を利用される場合、先の実装コードをそのまま利用いただければと思います。
DataGridView_Bind_DataTable_CS.zip
💬 コメント