精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|||
---|---|---|---|
作者 | 正文 | ||
发表时间:2006-12-27
分析AJAX DataSet与DBControl数据感应机制<o:p></o:p> 实现原理<o:p></o:p> 通过注册数据感应对象列表,在DataSet发生相应事件时,通知所有注册的数据感应对象,数据感应对象在得到通知时,根据通知的消息号与数据,进行相关执行比如刷新显示等。 消息号<o:p></o:p> modify:12 open:0 refresh:5 close:7 move record:3 append:1 delete:2 firedatachange:6 post:13 cancel:9 apply:8 fieldvalue firechange:4 notify lookup dataset:11 程序分析<o:p></o:p> 以DBEdit为例,首先DBEdit设置属性DataSet或SetDataSet,将调用LinkObj将DBEdit注册到数据感应对象列表,这个列表实际是一个数组,在DataSet发生相关事件时,将调用Notify通知数据感应对象列表中的所有对象,而所有的数据感应对象都有一个接口实现HandleMessage,用于在DataSet中调用,看一下Notify的实现就清楚了:
然后看看DBEdit的HandleMessage做了些什么,见下面实现,无非是刷新显示数据,呵呵,就这么简单。
<o:p> </o:p> <o:p> </o:p> <o:p> </o:p> <o:p> </o:p> <o:p> </o:p> <o:p> </o:p> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|||
返回顶楼 | |||
浏览 2376 次