Share via


DataRow および DataRowView

DataView は、DataRowView オブジェクトの列挙可能なコレクションを公開します。 DataRowView オブジェクトは、基になるテーブルの列の名前または列の序数参照によってインデックスが設定されているオブジェクトの配列として値を公開します。 DataRowViewRow プロパティを使用することによって、DataRowView で公開されている DataRow にアクセスできます。

DataRowView を使用して値を表示している場合は、DataViewRowStateFilter プロパティによって、基になる 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();  
  }  
}  

関連項目