创建 DataView 的方法有两种。可以使用 DataView 构造函数,也可以创建对 DataTable 的 DefaultView 属性的引用。DataView 构造函数可以为空,也可以通过单个参数的形式采用 DataTable 或者同时采用 DataTable 与筛选条件、排序条件和行状态筛选器。有关可与 DataView 一起使用的附加参数的更多信息,请参阅使用 DataView 对数据排序和筛选。
由于在创建 DataView 时以及在修改任何 Sort、RowFilter 或 RowStateFilter 属性时都会生成 DataView 的索引,所以当创建 DataView 时,通过以构造函数参数的形式提供任何初始排序顺序或筛选条件,将实现最佳性能。如果在不指定排序或筛选条件的情况下创建 DataView,然后设置 Sort、RowFilter 或 RowStateFilter 属性,则会使索引生成至少二次:一次是在创建 DataView 时,另一次是在修改任何排序或筛选属性时。
请注意,如果使用不采用任何参数的构造函数来创建 DataView,那么在设置 Table 属性之前,将无法使用 DataView。
以下代码示例演示如何使用 DataView 构造函数来创建 DataView。RowFilter、Sort 列和 DataViewRowState 将与 DataTable 一起提供。
[Visual Basic]
Dim custDV As DataView = New DataView(custDS.Tables("Customers"),
"Country = 'USA'","ContactName",DataViewRowState.CurrentRows)
[C#]
DataView custDV = new DataView(custDS.Tables["Customers"],
"Country = 'USA'", "ContactName",
DataViewRowState.CurrentRows);
以下代码演示如何使用该表的 DefaultView 属性获取对 DataTable 的默认 DataView 的引用。
[Visual Basic]
Dim custDV As DataView = custDS.Tables("Customers").DefaultView
[C#]
DataView custDV = custDS.Tables["Customers"].DefaultView;