【C#】データテーブルに列を追加する【DataTable】

2020年2月5日

列名を指定して追加する(文字列)

「dt.Columns.Add(“")」のダブルコーテーション(“")中に

文字列で列名を指定する事で列の追加が可能となります。

ここでは、HINMEI(品名)の列名で追加していきます。

禁止ではありませんが、列名はローマ字にしましょう。

たまに日本語の列名を見ることもありますが、基本的な書き方は、ローマ字指定となります。


    // データテーブルの初期化
    DataTable dt = new DataTable();

    // データテーブルの名前を指定
    dt.TableName = "FRUIT";

    // 列名を指定して追加する
    dt.Columns.Add("HINMEI");


列名とデータ型を指定して列追加する(文字列)

dt.Columns.Add() の列追加は、複数のやり方があります。

では、次に列名はSURYO(数量)と文字列で指定して

データ型は int型を指定して列追加していきます。

このように指定する事で、int型のSURYO(数量)という列が追加されました。


    // データテーブルの初期化
    DataTable dt = new DataTable();

    // データテーブルの名前を指定
    dt.TableName = "FRUIT";

    // 列名とデータ型を指定して追加する
    dt.Columns.Add("SURYO", typeof(int));


列名やデータ型やデフォルト値などを指定して列追加する(DataColumn)


列名やデータ型やデフォルトの値などを指定して列追加する方法は、

DataColumnを用意し、 列名やデータ型やデフォルト値を設定した後、

「dt.Columns.Add()」の中にAdd(DataColumn)のようにする事で実装可能となります。

上記に述べた設定以外にも、

許容桁数(MaxLength)、一意制約(Unique)、変更可否(ReadOnly)などもあります。

設定できる内容は下の方にMS公式のリンクがあるので、興味があれば見てください。


    // データテーブルの初期化
    DataTable dt = new DataTable();

    // データテーブルの名前を指定
    dt.TableName = "FRUIT";

    // 列名やタイプ型やデフォルト値などを指定して列追加する
    DataColumn dc = new DataColumn();

    // 列名
    dc.ColumnName = "TANKA";

    // データ型
    dc.DataType = typeof(decimal);

    // デフォルト値(初期値)
    dc.DefaultValue = 0;

    // 列追加
    dt.Columns.Add(dc);


コピペですぐ試せるソースコード

3種類の列追加方法を1つのソースにまとめました。

ソースコードをコピペするとそれぞれの動作が確認できると思います。


        private void DataTable_Columns_Add()
        {
            DataTable dt = new DataTable();

            dt.TableName = "FRUIT";

            // 列名を指定して追加する(文字列)
            dt.Columns.Add("HINMEI");

            // 列名とデータ型を指定して列追加する(文字列)
            dt.Columns.Add("SURYO", typeof(int));

            // 列名やタイプ型やデフォルト値などを指定して列追加する(DataColumn)
            DataColumn dc = new DataColumn();
            // 列名
            dc.ColumnName = "TANKA";
            // データ型
            dc.DataType = typeof(decimal);
            // デフォルト値(初期値)
            dc.DefaultValue = 0;

            // 列追加
            dt.Columns.Add(dc);
        }


まとめ

今回は複数の方法で、列を追加するソースコードを記載しました。

説明した実装方法が正解ということはありません。

用途にあったやり方、自分のやりやすい実装を採用していきましょう。

以上です。


DataColumnCollection クラス
https://docs.microsoft.com/ja-jp/dotnet/api/system.data.datacolumncollection?view=netframework-4.0


DataColumnCollection.Add メソッド
https://docs.microsoft.com/ja-jp/dotnet/api/system.data.datacolumncollection.add?view=netframework-4.0