Ler em inglês

Compartilhar via


DataViewRowState Enumeração

Definição

Descreve a versão dos dados em um DataRow.

Essa enumeração dá suporte a uma combinação bit a bit dos valores de membro.

C#
[System.Flags]
public enum DataViewRowState
Herança
DataViewRowState
Atributos

Campos

Nome Valor Description
Added 4

Uma nova linha.

CurrentRows 22

Linhas atuais, incluindo inalteradas, novas e modificadas. Por padrão, DataViewRowState é definido como CurrentRows.

Deleted 8

Uma linha excluída.

ModifiedCurrent 16

A versão atual dos dados originais que foram modificados (consulte ModifiedOriginal).

ModifiedOriginal 32

A versão original dos dados que foram modificados. (Embora os dados já tenham sido modificados, eles estão disponíveis como ModifiedCurrent).

None 0

Nenhum.

OriginalRows 42

Linhas originais, incluindo linhas inalteradas e excluídas.

Unchanged 2

Uma linha inalterada.

Exemplos

No exemplo DataTable a seguir é criado com uma única coluna. Os dados são alterados e o RowStateFilterDataView do é definido para exibir conjuntos de linhas diferentes, dependendo do DataViewRowState.

C#
static private void DemonstrateRowState()
{
    // Create a DataTable with one column.
    DataTable dataTable = new DataTable("dataTable");
    DataColumn dataColumn = new DataColumn("dataColumn");
    dataTable.Columns.Add(dataColumn);

    // Add ten rows.
    DataRow dataRow;
    for (int i = 0; i < 10; i++)
    {
        dataRow = dataTable.NewRow();
        dataRow["dataColumn"] = "item " + i;
        dataTable.Rows.Add(dataRow);
    }
    dataTable.AcceptChanges();

    // Create a DataView with the table.
    DataView dataView = new DataView(dataTable);

    // Change one row's value:
    dataTable.Rows[1]["dataColumn"] = "Hello";

    // Add one row:
    dataRow = dataTable.NewRow();
    dataRow["dataColumn"] = "World";
    dataTable.Rows.Add(dataRow);

    // Set the RowStateFilter to display only added and modified rows.
    dataView.RowStateFilter = DataViewRowState.Added
        | DataViewRowState.ModifiedCurrent;

    // Print those rows. Output = "Hello" "World";
    PrintView(dataView, "ModifiedCurrent and Added");

    // Set filter to display on originals of modified rows.
    dataView.RowStateFilter = DataViewRowState.ModifiedOriginal;
    PrintView(dataView, "ModifiedOriginal");

    // Delete three rows.
    dataTable.Rows[1].Delete();
    dataTable.Rows[2].Delete();
    dataTable.Rows[3].Delete();

    // Set the RowStateFilter to display only Added and modified rows.
    dataView.RowStateFilter = DataViewRowState.Deleted;
    PrintView(dataView, "Deleted");

    //Set filter to display only current.
    dataView.RowStateFilter = DataViewRowState.CurrentRows;
    PrintView(dataView, "Current");

    // Set filter to display only unchanged rows.
    dataView.RowStateFilter = DataViewRowState.Unchanged;
    PrintView(dataView, "Unchanged");

    // Set filter to display only original rows.
    dataView.RowStateFilter = DataViewRowState.OriginalRows;
    PrintView(dataView, "OriginalRows");
}

static private void PrintView(DataView dataView, string label)
{
    Console.WriteLine("\n" + label);
    for (int i = 0; i < dataView.Count; i++)
    {
        Console.WriteLine(dataView[i]["dataColumn"]);
    }
}

Comentários

Os DataViewRowState valores são usados para recuperar uma versão específica dos dados de um DataRowou para determinar quais versões existem.

Defina a RowStateFilter propriedade do DataView para especificar qual versão ou versões de dados você deseja exibir.

Você pode usar o operador booliano Ou com os valores para obter mais de uma versão.

O DataTable usa DataViewRowState no Select método .

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