【C#】データテーブルに行を追加する【DataTable】
行を追加する
「dt.Rows.Add()」を使用して、データテーブルに行を追加します。
Add()の引数に何も指定しない場合は、各列の値はデフォルトの値を元に行が追加されます。
// データテーブルの初期化
DataTable dt = new DataTable();
// データテーブルの名前を指定
dt.TableName = "FRUIT";
// 列追加
dt.Columns.Add("HINMEI");
dt.Columns.Add("SURYO");
dt.Columns.Add("TANKA");
dt.Columns.Add("KINGAKU");
/*
今回の内容はここから
*/
// 行を追加する
dt.Rows.Add();
行を追加する(文字列)
「dt.Rows.Add(“")」のダブルコーテーション(“")中に
各列に対しての値を文字列で指定する事で、値を指定した行の追加が可能となります。
※今回は、全て文字列指定ですが、Add()の引数は object型の配列なので、文字列のみではありません。
// データテーブルの初期化
DataTable dt = new DataTable();
// データテーブルの名前を指定
dt.TableName = "FRUIT";
// 列追加
dt.Columns.Add("HINMEI");
dt.Columns.Add("SURYO");
dt.Columns.Add("TANKA");
dt.Columns.Add("KINGAKU");
/*
今回の内容はここから
*/
// 行を追加する(文字列)
dt.Rows.Add("りんご", "3", "50", "150");
行を追加する(DataRow)
「dt.Rows.Add(DataRow)」のDataRowの指定方法については、
DataColumn のように new DataRow() とすることはできません。
DataRow の場合は、 既に列構成が設定されているデータテーブルから
NewRow() とする事で、列構成を引き継いだ デフォルト値のみ設定された DataRow ができます。
// データテーブルの初期化
DataTable dt = new DataTable();
// データテーブルの名前を指定
dt.TableName = "FRUIT";
// 列追加
dt.Columns.Add("HINMEI");
dt.Columns.Add("SURYO");
dt.Columns.Add("TANKA");
dt.Columns.Add("KINGAKU");
/*
今回の内容はここから
*/
// 行を追加する(DataRow)
DataRow dr = dt.NewRow();
dt.Rows.Add(dr);
コピペですぐ試せるソースコード
上記で記載した3点のソースコードをまとめました。
ソースコードをコピペするとそれぞれの動作が確認できると思います。
private void DataTable_Row_Add()
{
DataTable dt = new DataTable();
// データテーブルの名前を指定
dt.TableName = "FRUIT";
// 列追加
dt.Columns.Add("HINMEI");
dt.Columns.Add("SURYO");
dt.Columns.Add("TANKA");
dt.Columns.Add("KINGAKU");
/*
今回の内容はここから
*/
// 行追加する方法
dt.Rows.Add();
// 行追加する方法(文字列)
dt.Rows.Add("りんご", "3", "50", "150");
// 行追加する方法(DataRow)
DataRow dr = dt.NewRow();
dt.Rows.Add(dr);
}
まとめ
今回は複数の方法で、行を追加するソースコードを記載しました。
文字列以外を指定して行を追加する、
NewRow() した後に各列に対して値を設定してみてもいいかもしれません。
用途にあったやり方、自分のやりやすい実装を採用していきましょう。
Microsoft 公式ページ
DataRowCollection クラス
https://docs.microsoft.com/ja-jp/dotnet/api/system.data.datarowcollection?view=netframework-4.0
DataRowCollection.Add メソッド
https://docs.microsoft.com/ja-jp/dotnet/api/system.data.datarowcollection.add?view=netframework-4.0
お問い合わせ先
Twitterの利用再開しましたのでお問い合わせのある方はTwitterまでご連絡ください。
最近のコメント