Dela via


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

Se även