DataRows and DataRowViews (ADO.NET)

A DataView exposes an enumerable collection of DataRowView objects. The DataRowView objects expose values as object arrays that are indexed by either the name or the ordinal reference of the column in the underlying table. You can access the DataRow that is exposed by the DataRowView by using the Row property of the DataRowView.

When you view values by using a DataRowView, the RowStateFilter property of the DataView determines which row version of the underlying DataRow is exposed. For information about accessing different row versions using a DataRow, see Row States and Row Versions.

The following code example displays all the current and original values in a table.

Dim catView As DataView = New DataView(catDS.Tables("Categories"))
Console.WriteLine("Current Values:")
WriteView(catView)
Console.WriteLine("Original Values:")
catView.RowStateFilter = DataViewRowState.ModifiedOriginal
WriteView(catView)    

Public Shared Sub WriteView(thisDataView As DataView)
  Dim rowView As DataRowView
  Dim i As Integer

  For Each rowView In thisDataView
    For i = 0 To thisDataView.Table.Columns.Count - 1
      Console.Write(rowView(i) & vbTab)
    Next
    Console.WriteLine()
  Next
End Sub
DataView catView = new DataView(catDS.Tables["Categories"]);
Console.WriteLine("Current Values:");
WriteView(catView);
Console.WriteLine("Original Values:");
catView.RowStateFilter = DataViewRowState.ModifiedOriginal;
WriteView(catView);

public static void WriteView(DataView thisDataView)
{
  foreach (DataRowView rowView in thisDataView)
  {
    for (int i = 0; i < thisDataView.Table.Columns.Count; i++)
      Console.Write(rowView[i] + "\t");
    Console.WriteLine();
  }
}

See Also

Reference

DataRowVersion

DataViewRowState

DataView

DataRowView

Other Resources

DataViews (ADO.NET)

ADO.NET Managed Providers and DataSet Developer Center