Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Существует два метода, которые можно использовать для удаления DataRow объекта из DataTable объекта: Remove метода DataRowCollection объекта и Delete метода DataRow объекта. В то время как метод Remove удаляет DataRow из DataRowCollection, метод Delete только помечает строку для удаления. Фактическое удаление происходит, когда приложение вызывает AcceptChanges метод. С помощью Deleteможно программно проверить, какие строки помечены для удаления перед их удалением. Если строка помечена для удаления, его RowState свойство имеет значение Delete.
Ни Delete, ни Remove не следует вызывать в цикле foreach при итерации по объекту DataRowCollection. Delete не Remove изменяйте состояние коллекции.
При использовании DataSet или DataTable в сочетании с DataAdapter и реляционным источником данных используйте метод DeleteDataRow для удаления строки. Метод Delete помечает строку как Deleted в строке DataSet или DataTable не удаляет ее. Вместо этого, когда DataAdapter обнаруживает строку, помеченную как Удаленная, вызывается метод DeleteCommand для удаления строки в источнике данных. Затем строку можно удалить безвозвратно с помощью AcceptChanges метода. Если вы используете Remove для удаления строки, строка удаляется полностью из таблицы, но DataAdapter не удаляет строку в источнике данных.
Метод Remove класса DataRowCollection принимает DataRow в качестве аргумента и удаляет его из коллекции, что показано на следующем примере.
workTable.Rows.Remove(workRow)
workTable.Rows.Remove(workRow);
В отличие от этого, в следующем примере показано, как вызвать метод Delete на DataRow, чтобы изменить его RowState на Deleted.
workRow.Delete
workRow.Delete();
Если строка помечена для удаления и вызывается AcceptChanges метод DataTable объекта, строка удаляется из DataTable. В отличие от этого, если вы вызываете RejectChanges, состояние строки возвращается к тому, в каком оно было до того, как было установлено значение RowState.
Замечание
Если RowState элемента DataRow, то есть он только что добавлен в таблицу, и затем помечен как удаленный, он удаляется из таблицы.