Datawindow RetrieveStart事件中使用Return 2可以使dw中的数据不清除而继续检索,请问在datastore中如何做到这一点?

lixiaohui 2003-09-15 05:06:18
如题
...全文
272 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
freebirdwjy 2003-09-27
  • 打赏
  • 举报
回复
study~~~
lixiaohui 2003-09-16
  • 打赏
  • 举报
回复
/*谢谢大家帮助,我问这个问题主要是为了遍历树型结构,现已测试成功,
个人认为这是一种比较好的方法,速度很快,而且利用了在pb中for next 循环中循环
变量可以变化的特性,应该算是比较好的树型遍历方法了。不敢独享,拿出来供大家指点*/
long ll_row
nvo_dssaverow lds_unit//建立一个在retrievestart事件中return 2的datastore
lds_unit=create nvo_dssaverow
lds_unit.dataobject='d_unitlist'
lds_unit.settransobject(sqlca)
lds_unit.retrieve(-1)//父id为-1时表示从顶层开始检索
for ll_row=1 to lds_unit.rowcount()//遍历节点
lds_unit.retrieve(lds_unit.object.funitid[ll_row])//检索下级节点
next

destroy lds_unit
winwhere 2003-09-16
  • 打赏
  • 举报
回复
这些东西在PFC中就有的。
lixiaohui 2003-09-16
  • 打赏
  • 举报
回复
谢谢,我也没想到去做一个对象,谢谢大家的帮忙
jdsnhan 2003-09-15
  • 打赏
  • 举报
回复
兔兔他们是高手,比我思路灵活多了,我一时就没想到这样做,愚笨。
我的方法也能实现功能,但委屈PB了。
继续向他们学习。
klbt 2003-09-15
  • 打赏
  • 举报
回复
DS中有RetrieveStart事件,需要建立标准的不可视用户对象,然后用继承的方法实现。
鸡翅多 2003-09-15
  • 打赏
  • 举报
回复
runsoft(清风) ,牛人!
呵呵
runsoft 2003-09-15
  • 打赏
  • 举报
回复
就是创建一个nvo object ,然后继承datastore,在你的userobject的retrievestart event当中,直接return 2.

创建datastore 的时候,直接使用你继承下来的对象定义 dataobject。
runsoft 2003-09-15
  • 打赏
  • 举报
回复
可以支持 event
如果你想编写用于retrievestart这样的datastore的事件,那么你必须创建一个用户对象来编写这些事件
runsoft 2003-09-15
  • 打赏
  • 举报
回复
可以支持 event
如果你想编写用于retrievestart这样的datastore的事件,那么你必须创建一个用户对象来编写这些事件
liujiaqiang 2003-09-15
  • 打赏
  • 举报
回复
具体不知道ds中是否有这个事件,即使有也不知道如何调用。
我以前的做法是搞一个datawindow控件,然后在RetrieveStart事件中编写代码,然后把它的visible属性设置为不可见。。

不知你是否愿意这样做,虽然在系统资源上是站用得比ds多,但是可行的。

携手共进。。。。
zhangzhiguo4972 2003-09-15
  • 打赏
  • 举报
回复
rowscopy有点慢,用sharedata吧
jdsnhan 2003-09-15
  • 打赏
  • 举报
回复
没办法。ds不支持事件。
如果想,给此ds_1做出一个copy,ds_copy,
retrieve()后,用rowscopy()把数据放到ds_copy中,然后再调用ds_1.retrieve("新的参数")

611

社区成员

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

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