DataView の作成 (ADO.NET)
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;