DataView.RowStateFilter Eigenschaft

Definition

Dient zum Abrufen oder Festlegen des Zeilenstatusfilters, der in der DataView verwendet wird.

C#
public System.Data.DataViewRowState RowStateFilter { get; set; }
C#
[System.Data.DataSysDescription("DataViewRowStateFilterDescr")]
public System.Data.DataViewRowState RowStateFilter { get; set; }

Eigenschaftswert

Einer der DataViewRowState-Werte.

Attribute

Beispiele

Im folgenden Beispiel wird ein DataTable mit einer einzelnen Spalte erstellt, und dann werden die Daten geändert und festgelegt RowStateFilterDataView , dass verschiedene Zeilensätze je nach DataViewRowStateangezeigt werden.

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

Hinweise

Nur zeilen, die mithilfe der Delete -Methode gelöscht wurden, haben ihren RowStateFilter Wert auf Deletedfestgelegt. Bei den Zeilen, die mithilfe der AddNew -Methode hinzugefügt werden, ist die -Eigenschaft auf Addedfestgelegt.

Hinweis

Die Verwendung der Remove -Methode der DataRowCollection -Klasse bedeutet nicht, dass eine Zeile als Deletedgekennzeichnet wird. Verwenden Sie stattdessen die Delete -Methode, um sicherzustellen, dass solche Zeilen in DataViewangezeigt werden können.

Neue Zeilen sind auch sichtbar, wenn auf RowStateFilter oder CurrentRowsfestgelegt ModifiedCurrent ist.

Gelöschte Zeilen werden auch angezeigt, wenn auf RowStateFilter und OriginalRowsfestgelegt ModifiedOriginal ist.

Gilt für:

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

Weitere Informationen