谁来教我dw里的下拉dw的用法。

Libra_Chen 2002-11-08 10:28:51
我有一个dw1,有id,name,还有一个dw2有id,name,sex……等等。
我要在dw2里的id列下拉dw里选择id(dw1的),而name随id变化而相应变化,该如何做?
...全文
43 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Libra_Chen 2002-11-12
  • 打赏
  • 举报
回复
谢谢各位,让我对这部分内容有所领悟,可惜分数不多,请海涵。
zzutligang 2002-11-12
  • 打赏
  • 举报
回复
向huihuishou(挥挥手) 同学道歉,我没有仔细看你的方法,我试了,你的方法没有问题。我的以前的做法是在itemchanged中直接取当前数据窗口中的该列数值,然后再进行处理,发现总会出现"晚一个节拍"的现象,后来才发现原来itemchanged事件发生的比较早。所以我就使用系统的postevent的特点来解决这个问题。huihuishou(挥挥手) 同学的这个方法很好地解决了楼主的问题,建议楼主给分感谢huihuishou(挥挥手) 同学。当然我提到的问题也是应该引起PB开发人员注意的,或许哪一天就能用上。:)
zzutligang 2002-11-11
  • 打赏
  • 举报
回复
楼主注意了:
如果你想达到你的目的,请参考huihuishou(挥挥手)和dongquestion(dongdong)得方法,但必须注意,代码不能在itemchanged事件中写,否则你会发现结果总是比你想象的晚一个节拍,即你希望出现的总是上一次你看到的数据。解决办法是在你的itemchanged事件中写postevent("ue_itemchanged"),然后定义一个用户自定义事件"ue_itemchanged",在这个事件中写处理代码即可。
dongquestion 2002-11-11
  • 打赏
  • 举报
回复
在itemchanged事件里如下代码:
datawindowchild idw_name

IF dwo.Name = "id" THEN
dw_1.getchild(name',idw_name)
idw_name.settransobject(sqlca)
idw_name.reset()
idw_name.setfilter("id='"+ data +"'")//data是itemchanged事件里当前列的值,不是变量
idw_name.retrieve()
end if
huihuishou 2002-11-11
  • 打赏
  • 举报
回复
照楼上balloonman2002(革命的本钱-身体) 大师的做法设置dw_2中id和name列的edit属性,然后在dw_2的itemChanged事件中编程控制:

if dwo.name = "id" then
long li_row
datawindowchild ldwc_child
this.getchild('id',ldwc_child)
li_row=ldwc_child.getselectedrow(0)
this.object.name[row]=ldwc_child.getitemstring(li_row,"name")
elseif dwo.name= "name" then
long li_row
datawindowchild ldwc_child
this.getchild('name',ldwc_child)
li_row=ldwc_child.getselectedrow(0)
this.Object.id[row]=ldwc_child.getitemnumber(li_row,"id")
end if
Libra_Chen 2002-11-11
  • 打赏
  • 举报
回复
是不是对子数据窗口编程。一时找不到相关资料,哪里有下载?
Libra_Chen 2002-11-11
  • 打赏
  • 举报
回复
就是想让id和name都可以下拉,同时二者能保持同步。
huihuishou 2002-11-11
  • 打赏
  • 举报
回复
zzutligang(小鸟):
不好意思,我没看懂你说的意思,能不能详细得介绍一下为什么我的代码不能在itemchanged事件中写?怎么晚一个节拍的?因为我发现在我这里没有出现你所说的情况!

888888888888 2002-11-11
  • 打赏
  • 举报
回复
同意dongquestion(dongdong)!
Libra_Chen 2002-11-10
  • 打赏
  • 举报
回复
balloonman2002(革命的本钱-身体) 说的我当然知道,我不是这个意思啦~~~~~~~~~~~
balloonman2002 2002-11-08
  • 打赏
  • 举报
回复
唉,我看来看去,刷新了好几把就这个问题还知道一点,:),其他都不懂,郁闷,,,
megnet 2002-11-08
  • 打赏
  • 举报
回复
balloonman2002(革命的本钱-身体)真热心啊,这个问题也会回答.
Libra_Chen (Libra) 不会期望在 csdn上学会pb吧,去弄本pb的书看看如何,我相信任何pb的书上都有的,并且图文并茂,比这里 强多了.
balloonman2002 2002-11-08
  • 打赏
  • 举报
回复
dw2里的id列的属性中的“EDIT”项设为“DROPDOWN DATAWINDOW”,然后DROPDOWN DATAWINDOW设为DW1,DISPLAY COLUMN设为NAME,DATA COLUMN设为ID即可;

1,109

社区成员

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

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