DataRows och DataRowViews
En DataView exponerar en uppräkningsbar DataRowView samling objekt. DataRowView-objekten exponerar värden som objektmatriser som indexeras med antingen namnet eller ordningsreferensen för kolumnen i den underliggande tabellen. Du kan komma åt DataRow som exponeras av DataRowView med hjälp Row av egenskapen DataRowView.
När du visar värden med hjälp av en DataRowView avgör RowStateFilter egenskapen för DataView vilken radversion av den underliggande DataRow som exponeras. Information om hur du kommer åt olika radversioner med hjälp av en DataRow finns i Radtillstånd och Radversioner.
I följande kodexempel visas alla aktuella och ursprungliga värden i en tabell.
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();
}
}