DataGridView へのデータの読込み

ここではデータベースから取得したデータを表示したり編集する方法のひとつとして、C# の DataGridView (データグリッドビュー) の使い方を説明します。

例としてマイクロソフトのダウンロードセンターからダウンロードできる、サンプルデータベースである Northwind というデータベースを使います。

Northwind はコードサンプルでよく使われますので、開発環境に作っておくと便利です。 ググればすぐにデータベース作成用のスクリプトのダウンロードリンクが見つかります。

今回は、Northwind データベースの Employees テーブルを利用します。SQL サーバーの管理ツールでみると、次のようなテーブルです。

これと同じデータを C# のデータグリッドコンポーネントである、DataGridView に表示してみましょう

Visual Studio で Windows Forms プロジェクトを作成してください。

最初に作成されている Form1 に DataGridView をドラッグアンドドロップします。

次にドロップした DataGridView をクリックして、選択状態にして、Dock プロパティを Fill に設定します。

これでフォームいっぱいに DataGridView が表示されるようになります。

さて、以上の準備をしたら、フォームをダブルクリックして、フォームの Load イベントでデータを読み込みます。

using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace dbtest1 {
    public partial class Form1 : Form {
        public Form1() {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e) {
            var connStr = @"Server=.\SQLEXPRESS;Initial Catalog=Northwind;UID=sa;PWD=パスワードはここ";
            var dt = new DataTable();
            using(var conn = new SqlConnection(connStr)) {
                var cmd = conn.CreateCommand();
                cmd.CommandText = "SELECT * FROM Employees";
                var sda = new SqlDataAdapter(cmd);
                sda.Fill(dt);
            }
            dataGridView1.DataSource = dt;
        }
    }
}

接続文字をハードコードすることは普通しないことですが、ここではサンプルとしてなるべく簡単なコードになるようにしてあります。

接続文字列を設定ファイルにおく方法とか、接続文字内の設定の意味などについては「SQL Server との接続とデータの取得」をみてください。

さて、今回のポイントは データグリッドビューのデータソースの設定方法です。

ここではデータを読み込んだ DataTable オブジェクトを DataGridView オブジェクトの DataSource プロパティにセットしています。これだけで、次のように DataGridView に DataTable 内のデータが表示されます。

このように、データが読み込めさえすれば表組みに表示するのはとても簡単です。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 C# 入門