创建 DataView 的方法有两种。可以使用 DataView 构造函数,也可以创建对 DataTableDefaultView 属性的引用。DataView 构造函数可以为空,也可以通过单个参数的形式采用 DataTable 或者同时采用 DataTable 与筛选条件、排序条件和行状态筛选器。有关可与 DataView 一起使用的附加参数的更多信息,请参阅使用 DataView 对数据排序和筛选

由于在创建 DataView 时以及在修改任何 SortRowFilterRowStateFilter 属性时都会生成 DataView 的索引,所以当创建 DataView 时,通过以构造函数参数的形式提供任何初始排序顺序或筛选条件,将实现最佳性能。如果在不指定排序或筛选条件的情况下创建 DataView,然后设置 SortRowFilterRowStateFilter 属性,则会使索引生成至少二次:一次是在创建 DataView 时,另一次是在修改任何排序或筛选属性时。

请注意,如果使用不采用任何参数的构造函数来创建 DataView,那么在设置 Table 属性之前,将无法使用 DataView

以下代码示例演示如何使用 DataView 构造函数来创建 DataViewRowFilterSort 列和 DataViewRowState 将与 DataTable 一起提供。

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;