创建 DataView 的方法有两种。 可以使用 DataView 构造函数,也可以创建对 DefaultView 属性 DataTable的引用。
DataView 构造函数可以是空的,可以只接受一个 DataTable 参数,或者可以接受 DataTable 参数,以及筛选条件、排序条件和行状态筛选器。 有关可用于 DataView 的其他参数的详细信息,请参阅 排序和筛选数据。
由于DataView的索引是在DataView创建时以及在修改任何排序、RowFilter或RowStateFilter属性时生成的,因此在创建DataView时,最好通过将任何初始排序顺序或筛选条件作为构造函数参数来实现最佳性能。 创建DataView时,如果未指定排序或筛选条件,然后再设置Sort、RowFilter或RowStateFilter属性,这会导致索引至少生成两次:一次是创建时,另一次是修改任何排序或筛选属性时。
请注意,如果创建DataView使用不采用任何参数的构造函数,则在设置DataView属性之前,将无法使用该Table构造函数。
下面的代码示例演示如何使用DataView构造函数创建DataView。
RowFilter、Sort列以及 DataViewRowStateDataTable 一起提供。
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属性获取对默认DataView的DataTable引用。
Dim custDV As DataView = custDS.Tables("Customers").DefaultView
DataView custDV = custDS.Tables["Customers"].DefaultView;