【C#】データテーブルの行を削除する【DataTable】
行を削除する(DataRow)
「dt.Rows.Remove(DataRow)」を使用します。
まずは削除したい行を取得します。
取得したDataRowをdt.Rows.Remove(DataRow)と指定する事で
行の削除が可能となります。
// データテーブルの初期化
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();
dt.Rows.Add();
dt.Rows.Add();
/*
今回の内容はここから
*/
// 行を削除する(DataRow)
DataRow dr = dt.Rows[2];
dt.Rows.Remove(dr);
インデックスを指定して行を削除する(Index)
「dt.Rows.RemoveAt(index)」を使用します。
削除したい行のインデックスを指定する事で、行が削除されます。
インデックスが指定できるのはRemoveAtのみです。Removeではできません。
// データテーブルの初期化
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();
dt.Rows.Add();
dt.Rows.Add();
/*
今回の内容はここから
*/
// インデックスを指定して行を削除する(Index)
dt.Rows.RemoveAt(2);
コピペですぐ試せるソースコード
上記で記載した2点のソースコードをまとめました。
ソースコードをコピペするとそれぞれの動作が確認できると思います。
private void DataTable_Row_Remove()
{
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();
dt.Rows.Add();
dt.Rows.Add();
/*
今回の内容はここから
*/
// 行削除する方法(DataRow)
DataRow dr = dt.Rows[2];
dt.Rows.Remove(dr);
// インデックスを指定して削除する(Index)
dt.Rows.RemoveAt(2);
}
まとめ
今回は複数の方法で、行を削除するソースコードを記載しました。
用途にあったやり方、自分のやりやすい実装を採用していきましょう。
Microsoft 公式ページ
DataRowCollection クラス
https://docs.microsoft.com/ja-jp/dotnet/api/system.data.datarowcollection?view=netframework-4.0
DataRowCollection.Remove(DataRow) メソッド
https://docs.microsoft.com/ja-jp/dotnet/api/system.data.datarowcollection.remove?view=netframework-4.0
DataRowCollection.RemoveAt(Int32) メソッド
https://docs.microsoft.com/ja-jp/dotnet/api/system.data.datarowcollection.removeat?view=netframework-4.0
お問い合わせ先
Twitterの利用再開しましたのでお問い合わせのある方はTwitterまでご連絡ください。
最近のコメント