DataRow の削除DataRow Deletion

2 つのメソッドを使用して削除できます、DataRowオブジェクトから、DataTableオブジェクト:削除のメソッド、DataRowCollectionオブジェクト、およびDeleteのメソッド、 DataRowオブジェクト。There are two methods you can use to delete a DataRow object from a DataTable object: the Remove method of the DataRowCollection object, and the Delete method of the DataRow object. 一方、Removeメソッドの削除、 DataRowから、 DataRowCollectionDeleteメソッドは、行の削除をマークするだけです。Whereas the Remove method deletes a DataRow from the DataRowCollection, the Delete method only marks the row for deletion. 実際の削除は、アプリケーションを呼び出すときに発生します。、 AcceptChangesメソッド。The actual removal occurs when the application calls the AcceptChanges method. Delete を使用すると、行を実際に削除する前に、削除対象としてどの行がマークされているかをプログラムによってチェックできます。By using Delete, you can programmatically check which rows are marked for deletion before actually removing them. 削除対象としてマークされている行の RowState プロパティは、Delete に設定されています。When a row is marked for deletion, its RowState property is set to Delete.

Delete オブジェクトを反復処理している間は、foreach ループで RemoveDataRowCollection も呼び出すことはできません。Neither Delete nor Remove should be called in a foreach loop while iterating through a DataRowCollection object. Delete または Remove はコレクションの状態を変更します。Delete nor Remove modify the state of the collection.

使用する場合、DataSetまたはDataTableと組み合わせて、 DataAdapterとリレーショナル データ ソース、使用、削除のメソッド、 DataRow行を削除します。When using a DataSet or DataTable in conjunction with a DataAdapter and a relational data source, use the Delete method of the DataRow to remove the row. 削除メソッドとしての行をマークするDeletedで、データセットまたはDataTableは削除されません。The Delete method marks the row as Deleted in the DataSet or DataTable but does not remove it. 代わりに、 DataAdapterとしてマークされている行を検出するDeletedが実行されます、 DeleteCommandメソッドは、データ ソースで行を削除します。Instead, when the DataAdapter encounters a row marked as Deleted, it executes its DeleteCommand method to delete the row at the data source. 行のできますし、完全に削除するを使用して、 AcceptChangesメソッド。The row can then be permanently removed using the AcceptChanges method. 使用する場合削除行を削除する、行は、テーブルから完全に削除されますが、 DataAdapterデータ ソースの行は削除されません。If you use Remove to delete the row, the row is removed entirely from the table, but the DataAdapter will not delete the row at the data source.

削除のメソッド、 DataRowCollectionは、 DataRowを引数としてし、次の例に示すように、コレクションから削除します。The Remove method of the DataRowCollection takes a DataRow as an argument and removes it from the collection, as shown in the following example.

workTable.Rows.Remove(workRow)  
workTable.Rows.Remove(workRow);  

これに対し、次の例に示しますを呼び出す方法、削除メソッドをDataRowを変更するそのRowStateDeleted.In contrast, the following example demonstrates how to call the Delete method on a DataRow to change its RowState to Deleted.

workRow.Delete  
workRow.Delete();  

行は削除対象としてマークしを呼び出す場合、 AcceptChangesのメソッド、 DataTableオブジェクトから行を削除、 DataTableします。If a row is marked for deletion and you call the AcceptChanges method of the DataTable object, the row is removed from the DataTable. 呼び出す場合とは異なり、 RejectChangesRowState行としてマークされる前に戻りますDeletedします。In contrast, if you call RejectChanges, the RowState of the row reverts to what it was before being marked as Deleted.

注意

場合、 RowStateDataRowAddedつまりが追加された直後に、テーブルとしてマークされているし、 Deletedはテーブルから削除します。If the RowState of a DataRow is Added, meaning it has just been added to the table, and it is then marked as Deleted, it is removed from the table.

関連項目See also