怎么刷新子报表的参数?

crazy_candy 2007-11-28 05:48:56
今天用Tabular风格做一个报表,其中里面添加了一个dw_1,参数为报表的一个列(col_a),开始时dw_1.retrieve(col_a)是正确的,但因需求我在代码里修改的col_a列的值,此时报表里的dw_1读取的仍是未修改前的值(如:由'A'修改成'B',读取的仍是'A'),请问,我该怎么刷新dw_1接收新值参数呢?谢谢了
顺便请教一个,报表里的dw_1是何时retrieve的?retrieveend事件前还是后?
...全文
88 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazy_candy 2007-12-24
  • 打赏
  • 举报
回复
最终我用rowsmove本身到本身就OK了:)
weixling 2007-12-07
  • 打赏
  • 举报
回复
只需要在DATAWINDOW的itemchanged事件中重新RETRIEVE就可以,例如:

if getcolumnname()="tm_to" then
datawindowchild dwc1

dw_1.getchild('tm_to',dwc1)
dwc1.settransobject(sqlca)
dwc1.retrieve(getitemstring(getrow(),'tm_ship_category'),data+'%')



end if
crazy_candy 2007-11-29
  • 打赏
  • 举报
回复
或者应该是叫 嵌套数据窗口
crazy_candy 2007-11-29
  • 打赏
  • 举报
回复
sorry,估计我没说清楚,我说的dw_1是Tabular里的子数据窗口,dw_1.retrieve是datawindow自动读取的..我只是在报表都读取完后再修改其中的一列的值,而这列是作为子数据窗口的参数,但修改完成后不知道怎么让子数据窗口再retrieve一次
Forever4158 2007-11-28
  • 打赏
  • 举报
回复
51095480 pb交流群 欢迎加入
I_am_Z 2007-11-28
  • 打赏
  • 举报
回复
估计还是你的代码有问题,在你的控件列表找到你的窗体鼠标右键search 查找变量col_a看看都在哪些地方赋过值。
你的2问感觉很奇怪,retrieve 函数会触发2个事件retrievestart()和retrieveend(),所以???我都不知道该说什么了?????
至于何时触发应该是看你的代码是何时调用了retrieve()函数才对吧!!!

609

社区成员

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

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