DataViewRowState Enumeration

Definition

Beschreibt die Version der Daten in einer DataRow-Klasse.Describes the version of data in a DataRow.

Diese Enumeration weist ein FlagsAttribute-Attribut auf, die eine bitweise Kombination der Memberwerte zulässt.

public enum class DataViewRowState
[System.Flags]
public enum DataViewRowState
type DataViewRowState = 
Public Enum DataViewRowState
Vererbung
DataViewRowState
Attribute

Felder

Added 4

Eine neue Zeile.A new row.

CurrentRows 22

Aktuelle Zeilen, einschließlich unveränderter, neuer und geänderter Zeilen.Current rows including unchanged, new, and modified rows. DataViewRowState ist standardmäßig auf CurrentRows festgelegt.By default, DataViewRowState is set to CurrentRows.

Deleted 8

Eine gelöschte Zeile.A deleted row.

ModifiedCurrent 16

Eine aktuelle Version von ursprünglichen Daten, die geändert wurden (siehe ModifiedOriginal).A current version of original data that has been modified (see ModifiedOriginal).

ModifiedOriginal 32

Die ursprüngliche Version der geänderten Daten.The original version of the data that was modified. (Obwohl die Daten inzwischen geändert wurden, ist sie als ModifiedCurrent verfügbar).(Although the data has since been modified, it is available as ModifiedCurrent).

None 0

None.None.

OriginalRows 42

Ursprüngliche Zeilen, einschließlich unveränderter und gelöschter Zeilen.Original rows including unchanged and deleted rows.

Unchanged 2

Eine nicht geänderte Zeile.An unchanged row.

Beispiele

Im folgenden Beispiel wird DataTable mit einer einzelnen Spalte erstellt.In the following example DataTable is created with a single column. Die Daten werden geändert, und die RowStateFilter des DataView wird so festgelegt, dass je nach DataViewRowStateunterschiedliche Zeilen Sätze angezeigt werden.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

Hinweise

Die DataViewRowState Werte werden verwendet, um eine bestimmte Version von Daten aus einer DataRowabzurufen oder um zu bestimmen, welche Versionen vorhanden sind.The DataViewRowState values are used either to retrieve a particular version of data from a DataRow, or to determine what versions exist.

Legen Sie die RowStateFilter-Eigenschaft des DataView fest, um anzugeben, welche Version oder Version der Daten Sie anzeigen möchten.Set the RowStateFilter property of the DataView to specify which version or versions of data you want to view.

Sie können den booleschen Operator oder mit den Werten verwenden, um mehr als eine Version zu erhalten.You can use the Boolean operator Or with the values to get more than one version.

Der DataTable verwendet DataViewRowState in der Select-Methode.The DataTable uses DataViewRowState in the Select method.

Gilt für:

Siehe auch