Compartir a través de


Eliminar una fila de una tabla

Para eliminar un objeto DataRow de un objeto DataTable se pueden usar dos métodos: el método Remove del objeto DataRowCollection y el método Delete del objeto DataRow. Mientras que el método Remove elimina un objeto DataRow de la DataRowCollection, el método Delete únicamente lo marca para su eliminación. La eliminación propiamente dicha se produce cuando la aplicación llama al método AcceptChanges. Si se usa Delete, se puede comprobar mediante programación qué filas están marcadas para eliminación antes de eliminarlas. Cuando una fila está marcada para eliminación, su propiedad RowState está establecida en Deleted.

Cuando se use un DataSet o un DataTable en combinación con un DataAdapter y un origen de datos relacional, use el método Delete de la DataRow para quitar la fila. El método Delete marca la fila como Deleted en DataSet o DataTable pero no la quita. En su lugar, cuando el DataAdapter encuentra una fila marcada como Deleted, ejecuta su DeleteCommand para eliminar la fila en el origen de datos. A continuación se puede quitar la fila permanentemente usando el método AcceptChanges. Si usa Remove para eliminar la fila, la fila se quitará por completo de la tabla pero el DataAdapter no eliminará la fila del origen de datos.

El método Remove de la DataRowCollection toma una DataRow como argumento y la elimina de la colección, como se muestra en el ejemplo siguiente.

workTable.Rows.Remove(workRow)
[C#]
workTable.Rows.Remove(workRow);

Por el contrario, en el siguiente ejemplo se muestra cómo se llama al método Delete en una DataRow para cambiar su RowState a Deleted.

workRow.Delete
[C#]
workRow.Delete();

Si una fila está marcada para eliminación y se llama al método AcceptChanges del objeto DataTable, la fila se elimina de la DataTable. Por el contrario, si se llama a RejectChanges, el RowState de la fila vuelve a ser el que era antes de que se marcara como Deleted.

**Nota   **Si el RowState de una DataRow es Added, lo que quiere decir que se acaba de agregar a la tabla y, a continuación, se marca como Deleted, se elimina de la tabla.

Vea también

Manipular datos en DataTable | DataRow (Clase) | DataRowCollection (Clase) | DataTable (Clase)