如何DataWindow中动态变更DropDownDW值

lqpwpw 2004-08-24 05:07:12
在一个DW中有两列是DDDW,例如DDDW_1是DW的省份字段,DDDW_2是DW的城市字段,如何选择了省份字段中的一个省份,在城市字段中只列出该省份的城市。
我希望能给一些例子,我看了一些代码,不懂(我乃新手),请前辈指点。

DataWindowChild dwc
  integer rtncode
  file://具有DropDownDW编辑风格、值需动态改变的字段的名称
  rtncode = dw_1.GetChild("city", dwc)
  IF rtncode = -1 THEN MessageBox( "错误提示", "Not a DataWindowChild")
  // 建立连接
  CONNECT USING SQLCA;
  // 设置子数据窗口的事物对象
  dwc.SetTransObject(SQLCA)
  file://子数据窗口的检索值
  dwc.Retrieve(20) file://让city列只显示所选省份的城市
  // 设置主数据窗口的事物对象并检索
  dw_1.SetTransObject(SQLCA)
  dw_1.Retrieve()
问题1:file:应该写一些什么代码
问题2:两个DDDW如何建立联系的

希望有源码或例子
先谢谢了
...全文
209 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
tmxkdldw 2004-08-25
  • 打赏
  • 举报
回复
当ddw1的item改变时ddw2就检索包含这个省份的城市
YF6456 2004-08-25
  • 打赏
  • 举报
回复
我认同lzheng2001(1加1=0) 的解法,
DDDW2的句柄在这里应该用不上啊
lzheng2001 2004-08-25
  • 打赏
  • 举报
回复
//跟dddw1同理
DataWindowChild dwc2
integer rtncode2
rtncode2 = dw_1.GetChild("dddw2的名称", dwc2)
dwc2.SetTransObject(SQLCA)


hemhem 2004-08-25
  • 打赏
  • 举报
回复
ding
lqpwpw 2004-08-25
  • 打赏
  • 举报
回复
那么,怎么得到DDDW2的句柄呢?
debye 2004-08-25
  • 打赏
  • 举报
回复
**************************************************
1.可写在ITEMCHANGED事件中
if dwo.name = '省份列' then
dwc2.retrieve(data) //dwc2就是dddw2
end if

2.两个dddw没有联系,你分别把它们的SQL写好就行了
dddw2 的SQL为
select distinct 城市 from 表 where 省份 = :变量
******************************************************

我比较认同上面的解法,^_^
lzheng2001 2004-08-25
  • 打赏
  • 举报
回复
dw_1.Modify("#1.dddw.Name='dddw_jg'") //改变dddw对应的那个数据窗口
dw_1.Modify("#1.dddw.DisplayColumn='name_jg'") //改变dddw的"显示列"
dw_1.Modify("#1.dddw.DataColumn='id_jg'") //改变dddw的"数据列"
他的回答应该与问题无关.
lqpwpw 2004-08-25
  • 打赏
  • 举报
回复
谢谢大家的帮助,
不明白balloonman2002()同志说的什么。
wuzhixin 2004-08-24
  • 打赏
  • 举报
回复
同意各位大虾顶
luotitan 2004-08-24
  • 打赏
  • 举报
回复
就是把dddw_1的data值作为dddw_2的检索参数
在itemchanged里面写


lzheng2001 2004-08-24
  • 打赏
  • 举报
回复
1.可写在ITEMCHANGED事件中
if dwo.name = '省份列' then
dwc2.retrieve(data) //dwc2就是dddw2
end if

2.两个dddw没有联系,你分别把它们的SQL写好就行了
dddw2 的SQL为
select distinct 城市 from 表 where 省份 = :变量



balloonman2002 2004-08-24
  • 打赏
  • 举报
回复
dw_1.Modify("#1.dddw.Name='dddw_jg'")
dw_1.Modify("#1.dddw.DisplayColumn='name_jg'")
dw_1.Modify("#1.dddw.DataColumn='id_jg'")

609

社区成员

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

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