[C#] DataTable の作成

度忘れすることが多い(?)、DataTable の作成(初期化)方法。
基本的な流れとしては、
  1. インスタンス化。
  2. テーブル列定義。
  3. テーブル行にデータ追加。
  4. DataTable 自体に追加。
である。

// DataTable 作成。
var dt = new DataTable();

// 行定義
// このセクションを無視すると、列 ' ' はテーブル  に属していません。というエラーが出る。
dt.Columns.Add("Name", typeof(string));        // 文字列
dt.Columns.Add("Score", typeof(int));           // 数値
dt.Columns.Add("Entry", typeof(DateTime));  // 日付

// 行追加
var dr = dt.NewRow();
dr["Name"] = "ほげ太郎";
dr["Score"] = "100";
dr["Entry"] = DateTime.Now;
dt.Rows.Add(dr);
var dr2 = dt.NewRow();
dr2["Name"] = "ほげ次郎";
dr2["Score"] = "40";
dr2["Entry"] = DateTime.MinValue;
dt.Rows.Add(dr2);

// GridView にバインド
GridView1.DataSource = dt;
GridView1.DataBind();
行の定義で定義した型を順守する。
数値型や日付型なら有効な日付を入力しないとエラーで落ちる。
' DataTable 作成。
Dim dt = New DataTable()

' 行定義
dt.Columns.Add("Name", GetType(String))
dt.Columns.Add("Score", GetType(Integer))
dt.Columns.Add("Entry", GetType(DateTime))

' 行追加
Dim dr = dt.NewRow()
dr("Name") = "ほげ太郎"
dr("Score") = "100"
dr("Entry") = DateTime.Now
dt.Rows.Add(dr)

  1. VBではこんな感じ。

このブログの人気の投稿

コピーした行の挿入が表示されない時はフィルタされていないかチェック

Excel で一部の図形だけ固定する