Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. |
Traducción
Original
|
DataRow.Delete (Método)
Elimina DataRow.
Ensamblado: System.Data (en System.Data.dll)
| Excepción | Condición |
|---|---|
| DeletedRowInaccessibleException |
DataRow ya se ha eliminado. |
Si se agrega la propiedad RowState de la fila, RowState pasa a ser Detached y la fila se quita de la tabla cuando se llama a AcceptChanges.
La propiedad RowState toma el valor Deleted después de usar el método Delete en una DataRow existente. Permanece con el valor Deleted hasta que se llama a AcceptChanges. Entonces, DataRow se quita de la tabla.
Se puede anular la eliminación de una fila invocando a RejectChanges.
Nota
|
|---|
|
El método BeginEdit suspende temporalmente los eventos RowChanging, pero la operación de eliminación no. |
En el ejemplo siguiente se crea un DataTable simple con dos columnas y diez filas. Tras eliminar varios elementos DataRow con el método Delete, se anula la eliminación de una de las filas invocando a RejectChanges.
private void DemonstrateDeleteRow() { // Create a simple DataTable with two columns and ten rows. DataTable table = new DataTable("table"); DataColumn idColumn = new DataColumn("id", Type.GetType("System.Int32")); idColumn.AutoIncrement=true; DataColumn itemColumn = new DataColumn("item", Type.GetType("System.String")); table.Columns.Add(idColumn); table.Columns.Add(itemColumn); // Add ten rows. DataRow newRow; for(int i = 0; i <10; i++) { newRow = table.NewRow(); newRow["item"] = "Item " + i; table.Rows.Add(newRow); } table.AcceptChanges(); DataRowCollection itemColumns = table.Rows; itemColumns[0].Delete(); itemColumns[2].Delete(); itemColumns[3].Delete(); itemColumns[5].Delete(); Console.WriteLine(itemColumns[3].RowState.ToString()); // Reject changes on one deletion. itemColumns[3].RejectChanges(); // Change the value of the column so it stands out. itemColumns[3]["item"] = "Deleted, Undeleted, Edited"; // Accept changes on others. table.AcceptChanges(); // Print the remaining row values. foreach(DataRow row in table.Rows) { Console.WriteLine(row[0] + "\table" + row[1]); } }
Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Nota