更新 : November 2007
DataView は 2 とおりの方法で作成できます。DataView コンストラクタを使用するか、または DataTable の DefaultView プロパティへの参照を作成します。空の DataView コンストラクタを使用できます。また、DataView コンストラクタでは、DataTable を 1 つの引数としてとるか、またはフィルタ条件、並べ替え条件、および行状態フィルタと共に DataTable を使用します。DataView で使用できるその他の引数については、「データの並べ替えとフィルタ処理 (ADO.NET)」を参照してください。
DataView のインデックスが作成されるのは、DataView が作成される時点と、Sort、RowFilter、または RowStateFilter の各プロパティが変更される時点であるため、DataView の作成時に初期の並べ替え順序または初期フィルタ条件をコンストラクタ引数として指定すると、パフォーマンスを最大限に引き出すことができます。並べ替え条件やフィルタ条件を指定せずに DataView を作成してから、Sort、RowFilter、または RowStateFilter の各プロパティを設定すると、インデックスが少なくとも 2 回作成されます。これは、DataView の作成時点と、並べ替えプロパティまたはフィルタ プロパティの変更時です。
引数をとらないコンストラクタを使用して DataView を作成すると、Table プロパティを設定していない間は、DataView が使用できます。
DataView コンストラクタを使用して DataView を作成するコード サンプルを次に示します。DataTable と共に RowFilter、Sort 列、および DataViewRowState が指定されています。
Dim custDV As DataView = New DataView(custDS.Tables("Customers"), _
"Country = 'USA'", _
"ContactName", _
DataViewRowState.CurrentRows)
DataView custDV = new DataView(custDS.Tables["Customers"],
"Country = 'USA'",
"ContactName",
DataViewRowState.CurrentRows);
テーブルの DefaultView プロパティを使用して DataTable の既定の DataView への参照を取得するコード サンプルを次に示します。
Dim custDV As DataView = custDS.Tables("Customers").DefaultView
DataView custDV = custDS.Tables["Customers"].DefaultView;