Export (0) Print
Expand All
Expand Minimize

DataViewRowState Enumeration

Describes the version of data in a DataRow.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

Namespace:  System.Data
Assembly:  System.Data (in System.Data.dll)

'Declaration
<FlagsAttribute> _
Public Enumeration DataViewRowState

Member nameDescription
Supported by the XNA FrameworkAddedA new row.
Supported by the XNA FrameworkCurrentRowsCurrent rows including unchanged, new, and modified rows. By default, DataViewRowState is set to CurrentRows.
Supported by the XNA FrameworkDeletedA deleted row.
Supported by the XNA FrameworkModifiedCurrentA current version of original data that has been modified (see ModifiedOriginal).
Supported by the XNA FrameworkModifiedOriginalThe original version of the data that was modified. (Although the data has since been modified, it is available as ModifiedCurrent).
Supported by the XNA FrameworkNoneNone.
Supported by the XNA FrameworkOriginalRowsOriginal rows including unchanged and deleted rows.
Supported by the XNA FrameworkUnchangedAn unchanged row.

The DataViewRowState values are used either to retrieve a particular version of data from a DataRow, or to determine what versions exist.

Set the RowStateFilter property of the DataView to specify which version or versions of data you want to view.

You can use the Boolean operator Or with the values to get more than one version.

The DataTable uses DataViewRowState in the Select method.

In the following example DataTable is created with a single column. The data is changed, and the RowStateFilter of the DataView is set to display different row sets, depending on the DataViewRowState.

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

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft