PB的dw如何实现数据异步加载?

netghost 2012-12-02 11:59:51
界面上放了个dw,通过timer在定时刷新,现在发现数据量大时,一刷新鼠标就变漏斗,感觉很卡,如果要实现异步刷新的话,要怎么实现?还是用到PB多线程SharedObjectRegister的方式来处理吗?有无好的实现思路,各位大侠指点一下
...全文
644 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianshuyang_999 2012-12-17
  • 打赏
  • 举报
回复
这个不是datawindow的异步 是取数据库数据异步
fuxiaoyang13 2012-12-17
  • 打赏
  • 举报
回复
学习 学习!
yoan2014 2012-12-11
  • 打赏
  • 举报
回复
關注
szxlw1977 2012-12-11
  • 打赏
  • 举报
回复
用retrieverow 进行异步刷新 不要用那个函数 因为 要占用两个数据库连接才能达到效果
A啦Dbit 2012-12-06
  • 打赏
  • 举报
回复
SharedObjectRegister 你要占用两个数据库连接才能达到效果
netghost 2012-12-05
  • 打赏
  • 举报
回复
我目前是在timer事件中增量检索,但还是会卡,我偿试一下用SharedObjectRegister的方式看会不改善一些,主要是pb多线程不好用,不像c#
A啦Dbit 2012-12-05
  • 打赏
  • 举报
回复
发送这个消息就可以实现检索数据时可以操作其它动作(包括停止检索) send(handle(dw_1), 1306, 1, 0) //停止检索 dw_1.dbcancel() 缺点是就是不能指定retrieve的参数
zjl8008 2012-12-05
  • 打赏
  • 举报
回复
引用 3 楼 xiajinxian 的回复:
Retrieve (yield) Post(ll_dw_handle, 1306, 1, 0) Post(ll_dw_handle, 1320, 0, 0) Cancel Post(ll_dw_handle, 1320, 0, 0)
Retrieve (yield)?没用过,能详细解释下用法吗?
A啦Dbit 2012-12-03
  • 打赏
  • 举报
回复
或者是在retrieverow事件里随便加点代码...就可以异步了
A啦Dbit 2012-12-03
  • 打赏
  • 举报
回复
Retrieve (yield) Post(ll_dw_handle, 1306, 1, 0) Post(ll_dw_handle, 1320, 0, 0) Cancel Post(ll_dw_handle, 1320, 0, 0)
sjlion 2012-12-03
  • 打赏
  • 举报
回复
如果想刷数据的时候还能进行别的操作,多线程是最好的方式
SKY_4K_PPM 2012-12-03
  • 打赏
  • 举报
回复
我觉得得换个方式来实现你的定时刷新的功能。如果是刷数据的话,可以用时间点来刷新增量数据。

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧