Surance Center

什么时候用DataView来绑定

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

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

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


 

posted @ 2008-02-19 16:35  xxp  阅读(628)  评论(0编辑  收藏  举报
Surance Center