关于 rowfocuschanged 事件的问题!请各位大哥帮帮忙!在线等待!

531MT 2002-04-15 10:41:29
我的问题是这样的:
——————
| sl_1 |查询
——————
我在sl_1中输入内容查询,在dw_1中输出,根据dw_1中的内容的变化tab_1.tab_1.tabpage_1.dw_2中的内容也随之变化。所以我在dw_1中的rowfocuschanged的事件中写入了让tab_1.tab_1.tabpage_1.dw_2内容变化的语句:

string key
long row
row=dw_1.getrow()
key=dw_1.getitemstring(row,"carid")
tab_1.tabpage_1.dw_2.retrieve(key)

在窗口的open()中写入了:

tab_1.tabpage_1.dw_2.settransobject(sqlca)
dw_1.settransobject(sqlca)

可是,结果是第一次打开,查询后一切正常。再次查询时,dw_1中的内容变化,可是
tab_1.tabpage_1.dw_2就不会再变化了。
不知道什么原因?
请各位帮帮忙呀!
...全文
229 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
byfq 2002-04-15
  • 打赏
  • 举报
回复
同意 rabbitsfoot(狡兔)
dancer 2002-04-15
  • 打赏
  • 举报
回复
加一个 accepttext()试试。。。
rabbitsfoot 2002-04-15
  • 打赏
  • 举报
回复
在dw_1第一次retrieve之前它的内容空的,检索到记录的话就自动跳到第一条记录并且触发rowfocuschanged事件,如果你再次检索,既然当前行的内容改变了,但是行号并没改变,这时就不会触发rowfocuschaned事件,如果你的dw_1检索出来的记录都是单条的,就把检索dw_2的代码写到retrieved事件里面去吧,如果dw_1有可能是多条的,则rowfocuschanged里面也要保留原来的代码。
kaikaihe 2002-04-15
  • 打赏
  • 举报
回复
在sle_1的数据检索代码后加入语句
IF dw_1.rowcount() > 0 THEN
dw_1.post event rowfocuschanged(1)
end if
dukeli 2002-04-15
  • 打赏
  • 举报
回复
可能是没有触发Rowfocuschanged事件,可以加个messagebox来看看是否触发了。
如果确实如此,可以采用triggerevent的方法来手动激活dw_2的retrieve
Eric2000 2002-04-15
  • 打赏
  • 举报
回复
同意狡兔的说法。你可以这样:在dw_1的retrieveend事件中添加:
string key
long row =1 ////按照第一行检索
key=dw_1.getitemstring(row,"carid")
tab_1.tabpage_1.dw_2.retrieve(key)
这样就可以了。如果按照上面几位的做法,那么,如果dw_1的行数为1甚至0,dw_2的显示必然不正确。


zxthello 2002-04-15
  • 打赏
  • 举报
回复
因为没有触发时间,我发现触发改事件的条件是行号有了变化才行,数据窗内容变化如果结果还在同一行(比如第一行),则不触发改事件,所以需要另加控制!----仅供参考
tmzjn 2002-04-15
  • 打赏
  • 举报
回复
同意
sunnylei 2002-04-15
  • 打赏
  • 举报
回复
在dw_1的 Retrieveend 事件加入以下code:

string key
key=dw_1.getitemstring(row,"carid")
tab_1.tabpage_1.dw_2.retrieve(key)

531MT 2002-04-15
  • 打赏
  • 举报
回复
我的dw_1和tab_1.tabpage_1.dw_2都是freeform格式的。
lesni 2002-04-15
  • 打赏
  • 举报
回复
sle

RowFocusChanged事件:
If CurrentRow < 1 Or CurrentRow > RowCount() Then ReTurn
String key
key = Object.cardid[ CurrentRow ]
tab_1.tabpage_1.dw_2.retrieve(key)
wu_07 2002-04-15
  • 打赏
  • 举报
回复
看看click事件中写没有写setrow
531MT 2002-04-15
  • 打赏
  • 举报
回复
各位说的我都试过了,怎么不行呀!
请各位继续关注!
wu_07 2002-04-15
  • 打赏
  • 举报
回复

在key=dw_1.getitemstring(row,"carid")之前dw_1.update()试试
aqua_w 2002-04-15
  • 打赏
  • 举报
回复
在tab的selectionchanged中写入
tab_1.tabpage_1.dw_2.retrieve(key)

1,079

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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