DataViewRowState Wyliczenie

Definicja

Opisuje wersję danych w DataRow .Describes the version of data in a DataRow.

To wyliczenie ma atrybut FlagsAttribute zezwalający na bitową kombinację jego wartości składowych.

public enum class DataViewRowState
[System.Flags]
public enum DataViewRowState
[<System.Flags>]
type DataViewRowState = 
Public Enum DataViewRowState
Dziedziczenie
DataViewRowState
Atrybuty

Pola

Added 4

Nowy wiersz.A new row.

CurrentRows 22

Bieżące wiersze, w tym niezmienione, nowe i zmodyfikowane wiersze.Current rows including unchanged, new, and modified rows. Domyślnie DataViewRowState jest ustawiony na CurrentRows.By default, DataViewRowState is set to CurrentRows.

Deleted 8

Usunięty wiersz.A deleted row.

ModifiedCurrent 16

Aktualna wersja oryginalnych danych, które zostały zmodyfikowane (zobacz ModifiedOriginal ).A current version of original data that has been modified (see ModifiedOriginal).

ModifiedOriginal 32

Oryginalna wersja zmodyfikowanych danych.The original version of the data that was modified. (Chociaż dane zostały zmodyfikowane, są dostępne jako ModifiedCurrent ).(Although the data has since been modified, it is available as ModifiedCurrent).

None 0

Brak.None.

OriginalRows 42

Oryginalne wiersze z uwzględnieniem niezmienionych i usuniętych wierszy.Original rows including unchanged and deleted rows.

Unchanged 2

Niezmieniony wiersz.An unchanged row.

Przykłady

W poniższym przykładzie DataTable jest tworzony z użyciem pojedynczej kolumny.In the following example DataTable is created with a single column. Dane są zmieniane, a dla RowStateFilter elementu DataView jest ustawiona na wyświetlanie różnych zestawów wierszy, w zależności od DataViewRowState .The data is changed, and the RowStateFilter of the DataView is set to display different row sets, depending on the DataViewRowState.

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"]);
    }
}
Private Sub DemonstrateRowState()
    Dim i As Integer

    ' Create a DataTable with one column.
    Dim dataTable As New DataTable("dataTable")
    Dim dataColumn As New DataColumn("dataColumn")
    dataTable.Columns.Add(dataColumn)

    ' Add ten rows.
    Dim dataRow As DataRow
    For i = 0 To 9
        dataRow = dataTable.NewRow()
        dataRow("dataColumn") = "item " + i.ToString()
        dataTable.Rows.Add(dataRow)
    Next i
    dataTable.AcceptChanges()

    ' Create a DataView with the table.
    Dim dataView As 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 Or 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")
End Sub

Private Sub PrintView(ByVal dataView As DataView, ByVal label As String)
    Console.WriteLine(ControlChars.Cr + label)
    Dim i As Integer
    For i = 0 To dataView.Count - 1
        Console.WriteLine(dataView(i)("dataColumn"))
    Next i
End Sub

Uwagi

DataViewRowStateWartości są używane do pobierania określonej wersji danych z DataRow lub do określania, które wersje istnieją.The DataViewRowState values are used either to retrieve a particular version of data from a DataRow, or to determine what versions exist.

Ustaw RowStateFilter Właściwość, DataView Aby określić, która wersja lub wersje danych mają być wyświetlane.Set the RowStateFilter property of the DataView to specify which version or versions of data you want to view.

Możesz użyć operatora logicznego lub wartości, aby uzyskać więcej niż jedną wersję.You can use the Boolean operator Or with the values to get more than one version.

DataTableUżycie DataViewRowState w Select metodzie.The DataTable uses DataViewRowState in the Select method.

Dotyczy

Zobacz też