起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 1337|回复: 0

如何刷新数据集

[复制链接]
发表于 2004-4-6 15:42:25 | 显示全部楼层 |阅读模式
数据集有三种刷新方法(Refresh 、RefreshRecord、SmartRefresh)这些方法都是数据集提供的,都是到服务端取数据。

1、所有数据集刷新都可以使用 Refresh 方法。

2、如果只刷新数据集中的某一条记录(当前记录),建议使用RefreshRecord方法。使用RefreshRecord时需要注意,在数据集的更新选择中明确指定哪些字段是关键字段 。

3、数据集还有SmartRefresh(ForceReopen: Boolean)方法,ForceReopen参数为True时,是使数据集关闭后再打开,以便达到刷新的目的;为False时是判断数据集取数据时所用到的SQL和参数是否发生变化,如果没有则调用数据集的Refresh,如果变化则重新关闭后再打开数据集。(Refresh方法为数据集刷新本地缓冲区并且为打开的数据集重新获得数据。如果关闭再打开,除了获取数据外,还要其他的操作。例如,创建数据集的TField(TDataField)、设置初始的数据集中的一些内部状态、获取数据策略、应用数据约束条件等等)。


提示: 在数据做大量的循环修改前,需要调用DisableControls; 刷新后执行EnableControls。因为在调用数据集的DisableControls后,数据集的改变不会立即通知到数据感知组件,直到调用数据集EnableControls才去通知数据感知组件刷新其表现的内容。这样在对数据集做处理时,让数据感知组件只刷新一次,否则会频繁刷新,影响效率。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-23 05:49 , Processed in 0.036046 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表