DataViewRowState Wyliczenie

Definicja

Opisuje wersję danych w obiekcie DataRow.

To wyliczenie obsługuje bitową kombinację jego wartości składowych.

C#
[System.Flags]
public enum DataViewRowState
Dziedziczenie
DataViewRowState
Atrybuty

Pola

Nazwa Wartość Opis
Added 4

Nowy wiersz.

CurrentRows 22

Bieżące wiersze, w tym niezmienione, nowe i zmodyfikowane wiersze. Domyślnie DataViewRowState jest ustawiona wartość CurrentRows.

Deleted 8

Usunięty wiersz.

ModifiedCurrent 16

Bieżąca wersja oryginalnych danych, które zostały zmodyfikowane (zobacz ModifiedOriginal).

ModifiedOriginal 32

Oryginalna wersja zmodyfikowanych danych. (Mimo że dane zostały od tego czasu zmodyfikowane, są dostępne jako ModifiedCurrent).

None 0

Brak.

OriginalRows 42

Oryginalne wiersze, w tym niezmienione i usunięte wiersze.

Unchanged 2

Bez zmian wiersz.

Przykłady

W poniższym przykładzie DataTable zostanie utworzona pojedyncza kolumna. Dane są zmieniane, a RowStateFilter element DataView jest ustawiony na wyświetlanie różnych zestawów wierszy w zależności od DataViewRowStateelementu .

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"]);
    }
}

Uwagi

Wartości DataViewRowState są używane do pobierania określonej wersji danych z obiektu DataRowlub określenia, jakie wersje istnieją.

RowStateFilter Ustaw właściwość elementu DataView , aby określić wersję lub wersje danych, które chcesz wyświetlić.

Możesz użyć operatora logicznego Lub z wartościami, aby uzyskać więcej niż jedną wersję.

W DataTable metodzie użyto DataViewRowStateSelect metody .

Dotyczy

Produkt Wersje
.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

Zobacz też