外部数据源external问题

lnit728 2009-08-07 01:04:25
我想做一个下拉datawindow,现在做了dddw了。这个是没问题的
然后我用外部数据源建立datawindow,在这个字段上,在edit里添加了dddw displaycolumn datacolumn了
可是我用preview没有任何显示,运行时也是不出现,运行时我知道要insertrow(0)
可preview为什么没显示呢?还要设置什么吗?
我又用sqlselect数据源,用gird风格,同样在一字段添加下拉datawindow就是可以的
请大家帮帮忙
...全文
92 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lnit728 2009-08-07
终于好了,谢谢大家,是我没写settransobject(sqlca),之前我写的
datawindowchild dwc
this.getchild('mzsf005_fylbmc',dwc)
dwc.settransobject(sqlca)
dwc.retrieve()
if dwc.rowcount()=0 then
dwc.insertrow(0)
end if
这个不行,我以为不是这个问题呢,现在只写
settransobject(sqlca)
this。insertrow(0)
就可以了,小毛病耽误大家这么久,散分了,大家都是高手我就平分了
回复
sun1976 2009-08-07
没有用过6.5

如果没有autoretrieve属性,或者你的数据窗口在insertrow前没有设置settransobject(sqlca)
是不会自己出来的
因为我用pfc dw的constructor已在上级对象写了settransobject(sqlca)
你自己直接用数据窗口作的就要
settransobject(sqlca)

insertrow(0)
如果没有下拉表,那么可能是pb6.5没自动检索下拉数据窗的功能
就用你自己写的
getchild那几句解决即可
回复
lnit728 2009-08-07
我也是这样啊,不过就和你第一个图似的没有显示,可是在普遍6.5里,没有autoretrieve啊
刚才又运行了下,还是不行,在datawindow控件里要写代码吗?我只在constructor里写了this。insertrow(0)
为了验证自己的dddw我还在一个sql select gird风格里的一列用同样的设置
在constructor里写了
datawindowchild dwc
this.getchild('mzsf005_fylbmc',dwc)
dwc.settransobject(sqlca)
dwc.retrieve()
if dwc.rowcount()=0 then
dwc.insertrow(0)
end if
this.settransobject(sqlca)
this.retrieve()
这个就是可以用的
回复
永生天地 2009-08-07
pb6.5我暂时没有,不过pb10.5是这样的,你可以参考做一下
未选autoretrieve

选autoretrieve
想在下拉里显示出数据,必须重选一下display column 或者data column,保存后再重新打开


[Quote=引用 5 楼 lnit728 的回复:]
xys_777

(永生) ,请问这个“autoretrieve是否选中”是在哪看啊?我怎么不知道呢,我用的pb6.5
newease

(新意):我就是设计的你这样的窗口,就是没有显示出来
我用sqlselect gird是可以显示的,用external freedorm就不行了,头一次用external freedorm,估计是哪里没考虑到,请再仔细说下谢谢
[/Quote]
回复
newease 2009-08-07
6.5我没有试过,其实设计时不显示数据也没有什么关系,只要在窗口运行(如insertrow(0))后能正常就行了

回复
lnit728 2009-08-07
xys_777

(永生) ,请问这个“autoretrieve是否选中”是在哪看啊?我怎么不知道呢,我用的pb6.5
newease

(新意):我就是设计的你这样的窗口,就是没有显示出来
我用sqlselect gird是可以显示的,用external freedorm就不行了,头一次用external freedorm,估计是哪里没考虑到,请再仔细说下谢谢
回复
newease 2009-08-07
在preview状态下,下拉数据窗口内的数据为空,可能是PB的BUG吧


在设计界面有时可以正常显示下拉数据窗口的内容



预览状态有BUG,但是在运行的时候正常就可以了
回复
永生天地 2009-08-07
检查两点:
一看数据库连接是否正常
二看autoretrieve是否选中
回复
lnit728 2009-08-07
哦是这样啊,谢谢了,还有个问题,现在看到了下拉框,可下拉框为什么是空的啊?没有我想要的数据
回复
sun1976 2009-08-07
preview也好insertrow
你把鼠标点到preview那部分,然后工具栏上的retrieve,插入、删除按钮就能用了,插入行即可
回复
相关推荐
发帖
DataWindow
创建于2007-09-28

573

社区成员

PowerBuilder DataWindow
申请成为版主
帖子事件
创建了帖子
2009-08-07 01:04
社区公告
暂无公告