能否按行来retrieve一个数据窗口里的子数据窗口???

beyondxuwei 2004-10-08 10:49:15
在gid风格的数据窗口中,我有一个关联下拉菜单,会根据我选择的A的内容,来显示不同的B列表,现在有一个问题就是,当我其中的任何一行的A的内容修改后,所有行的B的下拉菜单都会根据这一行A的内容来的。
datawindowchild ldwc_item,ldwc_item1
li_cnt=Integer(data)
this.getchild('colorid',ldwc_item)
ldwc_item.settransobject(sqlca)
ldwc_item.retrieve(li_cnt) //这一行retrieve能不能加入行号,我不想影响其它行
...全文
189 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangjildy 2004-10-08
  • 打赏
  • 举报
回复
你可以在离开该列时马上把过滤条件设为空,不要用retrieve函数,用setfilter和filter,
否则会造成巨大的网络流量,可能会使服务器不堪重负哦.
yzh963 2004-10-08
  • 打赏
  • 举报
回复
如果只有B需要跟据A来取得数据,可以在当前行用setfilter()来实现,不要用retrieve(),去掉参数
将ldwc_item.retrieve(li_cnt)换成下面两行
ldwc_item.setfilter("条件")
ldwc_item.filter()
beyondxuwei 2004-10-08
  • 打赏
  • 举报
回复
我现在遇到的问题是,我选择其中一行的A项,所有行的B下拉菜单都会变,这显然是不合理的
beyondxuwei 2004-10-08
  • 打赏
  • 举报
回复
我现在遇到的问题是,
fibbery 2004-10-08
  • 打赏
  • 举报
回复
你在javascript中所赋值的是独立的,而在数据窗口中的dddw是关联的就那么一个子数据窗口(一个数据集合)。
jacksu19 2004-10-08
  • 打赏
  • 举报
回复
楼主,你的做法有什么问题呢?
或许楼主已经遇到问题了。
实在是没有什么好办法,我是用了一个笨办法:增加了一计算列。该列等于你当前的b列。
然后,当前列显示的是B列,而非当前列显示的是计算列
beyondxuwei 2004-10-08
  • 打赏
  • 举报
回复
那这个大哥有没有什么好的建议,我的目的是能达到关联下拉菜单,而且修改其中一行时,不影响其它行。是不是可以像javascript里的关联下拉菜单那样,先全部检索出来存在数组,再根据所选的内容对下拉菜单赋值?
fibbery 2004-10-08
  • 打赏
  • 举报
回复
我觉得你的思路不太好.不知道是否真的有必要让子数据窗口重新检索.
beyondxuwei 2004-10-08
  • 打赏
  • 举报
回复
放到rowfocuschanged事件中也没用的,影响其它行是由
ldwc_item.setfilter()过滤引起的,怎样能只过滤我选择的那一行就好了
huangxinru 2004-10-08
  • 打赏
  • 举报
回复
把代码放到dw的rowfocuschanged事件中
beyondxuwei 2004-10-08
  • 打赏
  • 举报
回复
怎么还是会影响其它行的下拉菜单啊??
beyondxuwei 2004-10-08
  • 打赏
  • 举报
回复
ldwc_item.setfilter("条件")里的条件是不是对应数据窗口里sql的条件??
beyondxuwei 2004-10-08
  • 打赏
  • 举报
回复
我在数据窗口的itemchanged事件的代码是这样的,现在关联总是不起作用

choose case dwo.name
case "stoneid"
int li_cnt
datawindowchild ldwc_item,ldwc_item1
ldwc_item.setfilter ('')
this.getchild('colorid',ldwc_item)
ldwc_item.setfilter(data)
ldwc_item.filter()
end choose
  • 打赏
  • 举报
回复
在代码最后清空过滤条件或是检索参数,如:

dw_XX.setfilter ( '') 或
dw_XX.setSQLselect ( "" )
beyondxuwei 2004-10-08
  • 打赏
  • 举报
回复
现在是不会影响其它行了,但是下拉菜单的内容不会变了,不关联了
代码这样写的:
this.getchild('colorid',ldwc_item)
ldwc_item.setfilter(data)
ldwc_item.filter()
data即为所要传的参数,好像不起作用一样

609

社区成员

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

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