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 内のデータが表示されます。
このように、データが読み込めさえすれば表組みに表示するのはとても簡単です。