DataRow および DataRowView (ADO.NET)
DataView は、DataRowView オブジェクトの列挙可能なコレクションを公開します。 DataRowView オブジェクトは、基になるテーブルの列の名前または列の序数参照によってインデックスが設定されているオブジェクトの配列として値を公開します。 DataRowView が DataRowView の Row プロパティを使用して公開している DataRow にアクセスできます。
DataRowView を使用して値を表示している場合は、DataView の 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();
}
}