创建 DataView (ADO.NET)
更新:November 2007
创建 DataView 的方法有两种。 可以使用 DataView 构造函数,也可以创建对 DataTable 的 DefaultView 属性的引用。 DataView 构造函数可以为空,也可以采用 DataTable 作为单个参数,也可以同时采用 DataTable 与筛选条件、排序条件和行状态筛选器。 有关可以用于 DataView 的其他参数的更多信息,请参见排序和筛选数据 (ADO.NET)。
由于在创建 DataView 时以及在修改任何 Sort、RowFilter 或 RowStateFilter 属性时都会生成 DataView 的索引,所以当创建 DataView 时,通过以构造函数参数的形式提供任何初始排序顺序或筛选条件,可以实现最佳性能。 如果在不指定排序或筛选条件的情况下创建 DataView,然后设置 Sort、RowFilter 或 RowStateFilter 属性,这会使索引至少生成二次: 一次是在创建 DataView 时,另一次是在修改任何排序或筛选属性时。
请注意,如果使用不采用任何参数的构造函数来创建 DataView,那么在设置 Table 属性之前,将无法使用 DataView。
以下代码示例演示如何使用 DataView 构造函数来创建 DataView。 RowFilter、Sort 列和 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;