DataView は 2 とおりの方法で作成できます。 DataView コンストラクターを使用することも、DefaultViewの DataTable プロパティへの参照を作成することもできます。 DataView コンストラクターは空にすることも、DataTable を 1 つの引数として受け取るか、フィルター条件、並べ替え条件、行状態フィルターと共に DataTable を受け取ることができます。 DataView で使用できる追加の引数の詳細については、「データの並べ替えとフィルター処理」を参照してください。
DataView のインデックスは、DataView の作成時と、Sort、RowFilter、または RowStateFilter のいずれかのプロパティが変更された場合の両方で作成されるため、DataView の作成時に最初の並べ替え順序またはフィルター条件をコンストラクター引数として指定することで、最適なパフォーマンスを実現できます。 並べ替え条件またはフィルター条件を指定せずに DataView を作成 し、Sort、 RowFilter、または RowStateFilter プロパティを後で設定すると、インデックスは少なくとも 2 回作成されます。 DataView が作成されるときに 1 回、並べ替えプロパティまたはフィルター プロパティが変更されたときにもう一度作成されます。
引数を受け取らないコンストラクターを使用して 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;