下拉数据窗口小问题

d_1的列col1的edit风格为下拉数据窗口,下拉数据窗口为dddw_1,在数据窗口设计器下检索d_1,可以看见下拉数据窗口的列表,但在程序运行状态下,却看不见下拉数据窗口的列表。使用getchild方法获得下拉数据窗口的引用,运行代码dddw_1.retrieve()后,可以看见下拉数据窗口的数据。
请问如何解决上述问题
[175 byte] By [hlq] at [2007-12-11]
# 1
使用getchild方法获得下拉数据窗口的引用,运行代码dddw_1.retrieve()后,可以看见下拉数据窗口的数据。
是要在程序下这么写呀?
如果不写你要设计DISPLAY COLUMN 和DATA COLUMN
konrong-康尼 at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...
# 2
konrong:
我在其他窗口也使用了下拉数据窗口,但是不需要手工检索下拉数据窗口,自动可以看见下拉数据窗口的列表,而且我在设计状态下也指定了DISPLAY COLUMN 和DATA COLUMN
我觉得手工检索下拉数据窗口不是好方法
hlq at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...
# 3
一般的语法是象你说的用getchild,然后retrieve()
我的:
datawindowchild dw_child//定义子数据窗口
dw_sgd1.getchild("gxmc",dw_child)//传递子数据窗口对象给变量
dw_child.settransobject(sqlca)//到子数据窗口的SQL语句
LS_oldsql=dw_child.GetSQLSelect()//得到子数据窗口的SQL语句
ls_FILTER=ls_oldsql+" where ljth= '"+ljth1+"'"//重置子数据窗口的SQL语句
dw_child.Settransobject(sqlca)//执行SQL语句
dw_child.Retrieve()
dw_child.SetSQLSelect(ls_oldsql)//重置SQL,恢复原来状态
konrong-康尼 at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...
# 4
我曾经遇到过的:使用setfilter("0=0");filter()后一般也可正常显示了,尽量少用retrieve()了,其实这种现象很正常,可能是无意中对子数据窗进行过滤了,这样的话还可能出现显示代码而不显示名称,或下拉数据为空或者不显示!
zxtdelphi-佳宁 at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...
# 5
没碰到过
wzyun-空白 at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...
# 6


你搜索一下以前的帖子。
实际上就是把dddw得到然后share到一个datastore中。
注意,保证datastore和这个datawindowchild的dataobject一致。

liulee-流方 at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...
# 7
我自已找到原因了.其实是很低级的错误。
我用的是pfc,出问题的那个数据窗口是继承的,在祖先脚本里已经
设置了事务对象,但是不知道什么原因,Extend Ancestor Script选项掉了。重新选中该选项,就没问题了
hlq at 2007-10-24 > top of Msdn China Tech,PowerBuilder,基础类...