您所在的位置:开发 > 架构&设计 > 深入剖析微软ASP.NET Ajax中的数据绑定架构上篇之一(4)

深入剖析微软ASP.NET Ajax中的数据绑定架构上篇之一(4)

2007-06-25 15:20 朱先忠 51CTO.com 我要评论(0) 字号:T | T
一键收藏,随时查看,分享好友!

在本系列文章中,作者详细剖析微软ASP.NET Ajax 1.0框架的客户端数据绑定架构部分所涉及的关键技术。在本篇(上篇)中,我们将主要从理论角度来探讨这个框架的数据绑定架构并给出一个简单示例实现。

AD:

类Sys.Preview.Data.DataFilter被设计为所有过滤器的抽象基类。它提供一个抽象方法filter以便在派生类中实现特定的过滤规则。

此外,在Futures January CTP中还提供了一个内置的过滤器—PropertyFilter,通过一个指定的属性及其属性值来过滤数据项。

【作者注】首先,这个DataView控件与ADO.NET 2.0提供的DataView控件存在相当不同。其次,因为我们的示例中主要使用的是ListView和ItemView控件,所以对此有兴趣的读者可以从这里得到一个相关示例(尽管这个例子是以前版本的Atlas提供的,但是参考本文中的相关示例,你可以略加修改即可在新环境下运行)。

(三)DataTable控件

现在,我们来讨论另一个重要的控件—DataTable,这个控件实现了Sys.Data.IData接口。通过分析随同MS AJAX框架发行的源代码及示例程序,我们可以容易地发现许多重要的控件(例如DataSource,DataView,ItemView和ListView)都使用该DataTable控件来存储它们的数据。因此,当你在MS AJAX中使用数据绑定时,你将经常与这个控件打交道。但篇幅所限,在此,我们也仅列出它的常用事件、属性和方法。

DataTable控件中的事件定义:

事件名

描述

collectionChanged

当行集合改变时(例如添加,删除或者修改)调用。

propertyChanged

无论何时改变一个或多个属性时都被调用。

DataTable控件中的属性定义:

属性名

描述

columns

返回一个Sys.Preview.Data.DataColumn数组,类似于一个数据库表格的结构。

keyNames

返回一个字符串数组,用于描述DataTable中的关键字列。

length

返回DataTable中所有记录的总数。

isDirty

如果DataTable中的数据已经改变并且还没有被写回到数据库,那么,这个属性被置为true;否则为false

DataTable控件中的方法定义:

方法名

描述

DeleterowObject

从当前DataTable中删除一行(即对应作为参数的行)

get_length()

返回记录总数

addrowObject

在当前DataTable的最后添加一个新行

clear()

删除当前DataTable中的所有数据

createRowinitialData

根据当前列结构创建一个新的Sys.Preview.Data.DataRow

getChanges()

返回针对当前DataTable的修改操作,返回值为下列之一:

·         Updated最近更新Sys.Preview.Data.DataRow

·         inserted新插入的Sys.Preview.Data.DataRow

·         Deleted删除的Sys.Preview.Data.DataRow

getColumnname

根据传递的列名从该DataTable中返回一个DataColumn对象。

getRowindex

返回一个对象DataRow

getItemindex

与方法getRow相同

(四)DataColumn及DataRow控件

读者应该很容易猜出,前面的DataTable包含一个DataColumn对象的集合和一个DataRow对象的集合。既然客户端DataColumn和DataRow控件的设计是用于模仿它们的ADO.NET2.0对应物—DataColumn和DataRow,所以,我们可以从前面的图3中非常容易地理解它们的对应关系。篇幅所限,我们在此省略对这两个控件的讨论。

现在,让我们转而讨论另一个命名空间—Sys.Preview.UI.Data中的几个重要控件。

【责任编辑:火凤凰 TEL:(010)68476606-8007】

内容导航

分享到:

网友评论TOP5

查看所有评论(

提交评论

  1. 专题:JVM编程语言,你的选择?
  2. 宅男程序员给老婆课程之11:域模型

文章排行

本月本周24小时

热点专题

更多>>

读书

精通JavaScript动态网页编程(实例版)
本书通过大量实例代码,以ECMA-262版本3为基础,结合JavaScript 1.5和JavaScript 5.5,由浅入深、循序渐进地介绍了JavaScript知

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 移动互联网生活门户 灵客风LinkPhone