什么时候用DataView来绑定

绑定控件的时候,觉得DataSet已经很方便了,但是为什么还有DataView呢?使用DataView操作离线数据库更加方便。以下的文章也解释了如何才可以使用DataView更新回DataSet:
作用:

当使用数据视图时,可以通过从数据视图获取已筛选或排序记录(而不是直接从其所在的表中获取)来访问这些记录。在遵守某些限制的情况下,还可以通过数据视图更新、插入和删除记录:

  • 数据视图必须包含有关每个记录的足够信息,以便能够确定记录在数据表中的位置。这些信息可以包含一个主键或其他列(这些列合在一起可以提供足够的信息来唯一标识记录,如客户名称、地址和城市)。
  • 对于每个操作,数据视图的 AllowEdit AllowNew AllowDelete 属性必须相应设置为 true

查找记录
查找数据视图中的记录
将数据视图的 Sort 属性设置为您要搜索的一列或多列。
调用数据视图的 Find 或 FindRows 方法,传递该它要在排序后的列中进行查找的值。
如果想要查找单个记录,则调用 Find 方法。
- 或 -
如果想要查找多个记录,则使用 FindRows 方法。
dataView1.Sort = "CustomerID";
int foundIndex = dataView1.Find(textBox1.Text);
注:使用Find方法应先Sort




读取记录
读取数据视图中的记录
使用索引值指向数据视图中要访问的记录。
可以通过在数据视图中按名称引用列来访问列,如下面的示例所示,它获取视图中第一个记录的客户名称:

DataView dataView1  =   new  DataView(ds.Customers);
string  cname  =  dataView1[ 0 ][ " CustomerName " ].ToString();


 

更新记录
通过数据视图更新记录
在代码中,使用索引值标识要更新的记录,然后通过引用列名称来设置列值。
注意   如果数据视图的 AllowEdit 属性设置为 false,则不能通过数据视图编辑记录。
下面的示例说明如何标识和更新一列。

 

dataView1[ 0 ][ " CompanyName " =   " Fabrikam, Inc. " ;


插入记录
通过数据视图插入记录
调用数据视图的 AddNew 方法,它创建新记录并返回一个 DataRowView 对象:

 


DataRowView drv;
drv 
=  dataView1.AddNew();

注:不同于对DataSet的操作
像更新任何数据视图记录一样来更新记录。
注意   如果数据视图的 AllowNew 属性设置为 false,则不能通过数据视图插入记录。
下面的示例展示如何向视图添加新记录,更新其中的三个字段:

 

//  C#
DataRowView drv;
drv 
=  dataView1.AddNew();
drv[
" CustomerID " =   " AAA " ;
drv[
" CompanyName " =   " AAFabrikam, Inc. " ;
drv[
" City " =   " Aurora " ;


删除记录
通过数据视图删除记录
调用数据视图的 Delete 方法,向其传递要删除记录的索引:
注意   如果数据视图的 AllowDelete 属性设置为 false,则不能通过数据视图删除记录。
下面的示例说明如何删除一条记录:

 

//  C#
dataView1.Delete( 0 );


 

你可能感兴趣的:(view)