DataRow 和 DataRowView

DataView 公开一个由 DataRowView 对象组成的可枚举集合。 这些 DataRowView 对象将值公开为对象数组,这些数组可通过基础表中列的名称或序号进行索引。 可以通过使用DataRowViewRow属性来访问由DataRowView公开的DataRow

使用 DataRowView 查看值时,RowStateFilter 属性将决定公开基础 DataRow 的哪个行版本。 有关使用 DataRow 访问不同行版本的信息,请参阅 行状态和行版本

下面的代码示例显示表中的所有当前值和原始值。

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();
  }
}

另请参阅