Ler em inglês

Compartilhar via


DataRow.Delete Método

Definição

Exclui o DataRow.

public void Delete ();

Exceções

Exemplos

O exemplo a seguir cria um simples DataTable com duas colunas e dez linhas. Depois de excluir vários DataRow itens com o Delete método , uma das linhas não é excluída invocando 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]);
    }
}

Comentários

Se o RowState da linha for adicionado, o RowState se tornará Detached e a linha será removida da tabela quando você chamar AcceptChanges.

O RowState se torna Deleted depois que você usa o Delete método em um existente DataRow. Ele permanece Deleted até que você chame AcceptChanges. Neste momento, o DataRow é removido da tabela.

Delete não deve ser chamado em um loop foreach durante a iteração por meio de um DataRowCollection objeto . Delete modifica o estado da coleção.

Uma linha excluída pode ser desdeletada invocando RejectChanges.

Observação

O BeginEdit método suspende RowChanging temporariamente os eventos, mas a operação de exclusão não.

Aplica-se a

Produto Versões
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Confira também