DataViewRowState-Enumeration
Beschreibt die Version der Daten in einer DataRow-Klasse.
Diese Enumeration verfügt über ein FlagsAttribute -Attribut, das die bitweise Kombination der Memberwerte zulässt.
Namespace: System.Data
Assembly: System.Data (in system.data.dll)
Syntax
'Declaration
<FlagsAttribute> _
Public Enumeration DataViewRowState
'Usage
Dim instance As DataViewRowState
[FlagsAttribute]
public enum DataViewRowState
[FlagsAttribute]
public enum class DataViewRowState
/** @attribute FlagsAttribute() */
public enum DataViewRowState
FlagsAttribute
public enum DataViewRowState
Member
Membername | Beschreibung | |
---|---|---|
Added | Eine neue Zeile. | |
CurrentRows | Aktuelle Zeilen, einschließlich unveränderter, neuer und geänderter Zeilen. | |
Deleted | Eine gelöschte Zeile. | |
ModifiedCurrent | Eine aktuelle Version, die eine geänderte Version der ursprünglichen Daten ist (siehe ModifiedOriginal). | |
ModifiedOriginal | Die ursprüngliche Version (obwohl sie inzwischen geändert wurde und als ModifiedCurrent verfügbar ist). | |
None | Keine. | |
OriginalRows | Ursprüngliche Zeilen, einschließlich unveränderter und gelöschter Zeilen. | |
Unchanged | Eine unveränderte Zeile. |
Hinweise
Die DataViewRowState-Werte werden entweder zum Abrufen einer bestimmten Version von Daten aus einer DataRow-Klasse oder zum Bestimmen der vorhandenen Versionen verwendet.
Legen Sie die RowStateFilter-Eigenschaft von DataView fest, um zu bestimmen, welche Version bzw. Versionen von Daten angezeigt werden soll bzw. sollen.
Sie können den booleschen Operator OR mit den Werten verwenden, um mehrere Versionen abzurufen.
Die DataTable-Klasse verwendet DataViewRowState in der Select-Methode.
Beispiel
Im folgenden Beispiel wird eine DataTable-Klasse mit einer einzigen Spalte erstellt. Die Daten werden geändert, und die RowStateFilter-Eigenschaft der DataView-Klasse wird so festgelegt, dass abhängig von der DataViewRowState-Enumeration verschiedene Rowsets angezeigt werden.
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
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"]);
}
}
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
System.Data-Namespace
DataRow-Klasse
DataView-Klasse
DataView-Klasse
Select