SEの転職活動で使うべきサイト・エージェント 目指せ年収アップ
SEの転職活動で使うべきサイト・エージェント 目指せ年収アップ
東南アジアをバックパッカーしながら転職活動をした記録
東南アジアをバックパッカーしながら転職活動をした記録
7年目で初の転職活動 2カ月で内定獲得した記録
7年目で初の転職活動 2カ月で内定獲得した記録
おすすめのプログラミングスクール めざせ就職・年収アップ!
おすすめのプログラミングスクール めざせ就職・年収アップ!
メンズクリア2年通い放題入会! その後のヒゲ状況(不定期更新)
メンズクリア2年通い放題入会! その後のヒゲ状況(不定期更新)
ブログ開始3年が経った月収が1万超えてた!
ブログ開始3年が経った月収が1万超えてた!
プログラミング独学・スクール・就職(目次)
プログラミング独学・スクール・就職(目次)
previous arrowprevious arrow
next arrownext arrow
 
Shadow
C#/VB.net

C# DatatableをDatagridViewへを表示

C#でDatatableをDatagridViewへを表示する方法を紹介します。

端的に言うと、Datatableの列名とDataPropertyNameを同じ名称にすることでできます。

この一言で分かる人はあまりいないと思うので、書き方を解説していきます。

実際に作成したファイルはこちらからダウンロードできます。

 

作るアプリは「ボタンをクリックするとDataGridViewにデータが表示される」ものです。

イメージは以下です。

DatagridViewの設定

まずはデータグリッドビュー自体の設定を行います。

列を追加

DatagridViewに列を追加していきます。

詳細は省きますが、以下のキャプチャのように追加できます。

今回は6列追加してみました。

列の設定が終わると以下のようになっているはずです。

因みにRowHeaderVisibleはFalseにしている状態です。

DataPropertyNameをセット

ここが重要です。

DataPropertyNameを以下のキャプチャのように設定していきます。

この時、DataPropertyNameはDatatableの列名と同じにしましょう。

DataTableをDatagridViewに表示するコード

大抵はSQLで取ってきたデータですが、今回はDataTableへ直接データを投入していきます。

Datatableの列名は先ほど設定したDataPropertyNameを同じ名称にします。

コードは以下です。

/// <summary>
/// データ表示ボタンクリックとき
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void buttonShowDatatable_Click(object sender, EventArgs e)
{
    //データテーブルにデータを投入
    DataTable dt = new DataTable();
    DataRow dr;
    
    //データテーブルに列を追加
    dt.Columns.Add("Supplier_cd");
    dt.Columns.Add("Supplier_name");
    dt.Columns.Add("Addr");
    dt.Columns.Add("Post_num");
    dt.Columns.Add("Tel");
    dt.Columns.Add("Fax");

    //データテーブルに行を追加
    
    //1行目
    dr = dt.NewRow();
    dr["Supplier_cd"] = "301101";
    dr["Supplier_name"] = "明治屋";
    dr["Addr"] = "埼玉県川越市";
    dr["Post_num"] = "111-1111";
    dr["Tel"] = "03-****-****";
    dr["Fax"] = "17-****-****";
    dt.Rows.Add(dr);

    //2行目
    dr = dt.NewRow();
    dr["Supplier_cd"] = "	301102	";
    dr["Supplier_name"] = "	パスコ	";
    dr["Addr"] = "	東京都江戸川区	";
    dr["Post_num"] = "	111-1112	";
    dr["Tel"] = "	4-****-****	";
    dr["Fax"] = "	18-****-****	";
    dt.Rows.Add(dr);

    //3行目
    dr = dt.NewRow();
    dr["Supplier_cd"] = "	301103	";
    dr["Supplier_name"] = "	ライヘルフ	";
    dr["Addr"] = "	大阪府東大阪市	";
    dr["Post_num"] = "	111-1113	";
    dr["Tel"] = "	5-****-****	";
    dr["Fax"] = "	19-****-****	";
    dt.Rows.Add(dr);

    //4行目
    dr = dt.NewRow();
    dr["Supplier_cd"] = "	301104	";
    dr["Supplier_name"] = "	リプトン紅茶	";
    dr["Addr"] = "	東京都港区	";
    dr["Post_num"] = "	111-1114	";
    dr["Tel"] = "	6-****-****	";
    dr["Fax"] = "	20-****-****	";
    dt.Rows.Add(dr);

    //5行目
    dr = dt.NewRow();
    dr["Supplier_cd"] = "	301105	";
    dr["Supplier_name"] = "	上島珈琲	";
    dr["Addr"] = "	横浜市中区	";
    dr["Post_num"] = "	111-1115	";
    dr["Tel"] = "	7-****-****	";
    dr["Fax"] = "	21-****-****	";
    dt.Rows.Add(dr);


    //6行目
    dr = dt.NewRow();
    dr["Supplier_cd"] = "	301106	";
    dr["Supplier_name"] = "	流通パートナーズ	";
    dr["Addr"] = "	NULL	";
    dr["Post_num"] = "	111-1116	";
    dr["Tel"] = "	8-****-****	";
    dr["Fax"] = "	22-****-****	";
    dt.Rows.Add(dr);


    //7行目
    dr = dt.NewRow();
    dr["Supplier_cd"] = "	301107	";
    dr["Supplier_name"] = "	全食	";
    dr["Addr"] = "	千葉市美浜区	";
    dr["Post_num"] = "	111-1117	";
    dr["Tel"] = "	9-****-****	";
    dr["Fax"] = "	23-****-****	";
    dt.Rows.Add(dr);
    
    //8行目
    dr = dt.NewRow();
    dr["Supplier_cd"] = "	301108	";
    dr["Supplier_name"] = "	大地	";
    dr["Addr"] = "	新潟県新潟市	";
    dr["Post_num"] = "	111-1118	";
    dr["Tel"] = "	10-****-****	";
    dr["Fax"] = "	24-****-****	";
    dt.Rows.Add(dr);

    //9行目
    dr = dt.NewRow();
    dr["Supplier_cd"] = "	301109	";
    dr["Supplier_name"] = "	明治乳業	";
    dr["Addr"] = "	東京都江東区	";
    dr["Post_num"] = "	111-1119	";
    dr["Tel"] = "	11-****-****	";
    dr["Fax"] = "	25-****-****	";
    dt.Rows.Add(dr);

    //10行目
    dr = dt.NewRow();
    dr["Supplier_cd"] = "	301200	";
    dr["Supplier_name"] = "	キッコーマン	";
    dr["Addr"] = "	千葉県野田市	";
    dr["Post_num"] = "	111-1120	";
    dr["Tel"] = "	12-****-****	";
    dr["Fax"] = "	26-****-****	";
    dt.Rows.Add(dr);

    //データグリッドビューのデータソースにデータテーブルを設定
    dataGridView1.DataSource = dt;
    
}

解説

12行目から18行目で列名をセットしています。

125行目でDataGridViewにDatatableのソースをセットしています。

これで表示は完了です。

 

C#アプリ開発 メールお知らせアプリ 開発案件の経験は2案件ほどで、ほとんど経験ありません。 そんな私が独学でプログラミングの勉強をしてきました。 そこで...

 

因みに、このページは「DatatableをDatagridViewへを表示」ですが、

逆に「DataGridViewをDataTableに変換」する処理も紹介しています。

DataGridViewをDataTableに変換 C#こんにちは。 最近開発から外れていましたが、少し開発をしたので残しておこうと思いました。 内容はデータグリッドビューの中身を...
DataGridviewでComboboxのSelectedValueの値を設定する今回は「DatagridViewにあるComboboxのSelectedValueの設定」です。 普通のコンボボックスでS...
ABOUT ME
LooseCarrot
LooseCarrot
ブログ運営をしているLooseCarrotです。 興味のあることにトライして発信していきます! プロフィール

関連している記事