Поделиться через


DataRows и DataRowViews

Объект DataView предоставляет перечисленную коллекцию DataRowView объектов. Объекты DataRowView предоставляют значения в виде массивов объектов, индексированных по имени или порядковой ссылке столбца в базовой таблице. Доступ к DataRow, который предоставляется DataRowView, можно получить, используя свойство Row объекта DataRowView.

При просмотре значений с помощью 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();  
  }  
}  

См. также