データテーブルの行の削除の方法をサンプルコードを交えて解説したいと思います。
説明
方法 | メソッド名 |
説明 |
---|---|---|
① |
Delete | 指定したDataRowを削除 |
② |
Remove | 引数に指定したDataRowを削除 |
③ |
RemoveAt | 指定したインデックスのDataRowを削除 |
④ |
Clear | 全ての行を削除 |
例
コード
using System; using System.Data; namespace Sample { /// <summary> /// メインプログラム /// </summary> public class Program { /// <summary> /// テーブルの行の削除 /// </summary> static void Main() { // テーブルの生成 var table = new DataTable(); // テーブルに列を追加 table.Columns.Add("名前", typeof(string)); table.Columns.Add("年齢", typeof(int)); // テーブルに行を追加 table.Rows.Add("一郎", 10); table.Rows.Add("二郎", 20); table.Rows.Add("三郎", 30); table.Rows.Add("四郎", 40); table.Rows.Add("五郎", 50); // 指定した行を削除 table.Rows[1].Delete(); // テーブルの行を出力 Console.WriteLine("指定した行を削除"); foreach(DataRow dataRow in table.Rows) { foreach(DataColumn dataColumn in table.Columns) { Console.WriteLine(dataColumn.ColumnName + " : " + dataRow[dataColumn.ColumnName]); } } Console.WriteLine(); // 指定した行を削除 table.Rows.Remove(table.Rows[1]); // テーブルの行を出力 Console.WriteLine("指定した行を削除"); foreach(DataRow dataRow in table.Rows) { foreach(DataColumn dataColumn in table.Columns) { Console.WriteLine(dataColumn.ColumnName + " : " + dataRow[dataColumn.ColumnName]); } } Console.WriteLine(); // 指定したインデックスの行を削除 table.Rows.RemoveAt(1); // テーブルの行を出力 Console.WriteLine("指定したインデックスの行を削除"); foreach(DataRow dataRow in table.Rows) { foreach(DataColumn dataColumn in table.Columns) { Console.WriteLine(dataColumn.ColumnName + " : " + dataRow[dataColumn.ColumnName]); } } Console.WriteLine(); // 全行を削除 table.Rows.Clear(); // テーブルの行を出力 Console.WriteLine("全行を削除"); foreach(DataRow dataRow in table.Rows) { foreach(DataColumn dataColumn in table.Columns) { Console.WriteLine(dataColumn.ColumnName + " : " + dataRow[dataColumn.ColumnName]); } } Console.WriteLine(); } } }
出力
指定した行を削除 名前 : 一郎 年齢 : 10 名前 : 三郎 年齢 : 30 名前 : 四郎 年齢 : 40 名前 : 五郎 年齢 : 50 指定した行を削除 名前 : 一郎 年齢 : 10 名前 : 四郎 年齢 : 40 名前 : 五郎 年齢 : 50 指定したインデックスの行を削除 名前 : 一郎 年齢 : 10 名前 : 五郎 年齢 : 50 全行を削除