你会了,能帮我吗?!

heminjie 2003-10-27 05:39:05
在freeform数据窗口中我定义了一个字段的EDIT为DROGDOWNDW,显示字段为MC,保存值为DM,可是当新增记录时,在这个字段的子窗口里没有任何记录可以选择!!!!

神啊,救救我吧!
...全文
39 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
bomber2001 2003-10-28
  • 打赏
  • 举报
回复
retrieve()
不然就来个
datawindowchild 的语句,
datawindowchild ldwc
dw_1.settransobject(sqlca)
dw_1.getchild("",ldwc)
......
......
qqjj7758 2003-10-28
  • 打赏
  • 举报
回复
DDDW里的属性autoretrieve了吗
TIGERWONG 2003-10-28
  • 打赏
  • 举报
回复
你先看一下数据库里的数据与你的参数所定义的条件是否有可选择的数据!!有时在做模块测试时会留下一些错误的数据可能会影响你最终的测试结果!删掉他们再试一试!!
workhand 2003-10-28
  • 打赏
  • 举报
回复
dw_1.settransobject(sqlca)
dw_1.retrieve()
powerman_lyj 2003-10-28
  • 打赏
  • 举报
回复
给你一个精简了的设置子数据窗口的函数,你可以import再修改

$PBExportHeader$gf_setxxcx_childdw.srf
global type gf_setxxcx_childdw from function_object
end type

forward prototypes
global subroutine gf_setxxcx_childdw (datawindow p_dwmain, u_globparam uo_globparam)
end prototypes

global subroutine gf_setxxcx_childdw (datawindow p_dwmain, u_globparam uo_globparam);long columncount,colv_i,rowv_i,filter_i
string columnname,dddw_name,dddw_discol,dddw_datcol,rowdata,filter_str
DataWindowChild childdw
columncount=long(P_dwmain.Object.DataWindow.Column.Count)
if(columncount>0) then
for colv_i=1 to columncount
columnname=P_dwmain.describe("#"+string(colv_i)+".name")
choose case columnname
case "c_ddxzqh","c_xzqh"
P_dwmain.Modify(columnname+".DDDW.Name=d_childdw_xzqh")
P_dwmain.Modify(columnname+".DDDW.DisplayColumn=c_mc")
P_dwmain.Modify(columnname+".DDDW.DataColumn=c_dm")
P_dwmain.getchild(columnname, childdw)
childdw.settransobject(uo_globparam.SQL_CA)
gf_deletedwdata(P_dwmain,childdw)
childdw.retrieve('5',"",1)
case else
end choose

next
end if
if (P_dwmain.rowcount()>0) then
P_dwmain.setrow(P_dwmain.rowcount())
P_dwmain.setrow(1)
end if
ld2099 2003-10-28
  • 打赏
  • 举报
回复
白兔说得没错,要让数据窗口显示数据关键在于settransobject(sqlca)和retrieve().
annyzgf 2003-10-27
  • 打赏
  • 举报
回复
同意 szpqq(Gavin)
liliang800207 2003-10-27
  • 打赏
  • 举报
回复
你的DROGDOWNDW并没有关联任何数据亚
就好像retrieve()可以加参数
jdsnhan 2003-10-27
  • 打赏
  • 举报
回复
同意兔兔的。如果选正确,应该没问题的。
szpqq 2003-10-27
  • 打赏
  • 举报
回复
dw_1.settransobject(sqlca)或注意一下宽度
欣萱好米 2003-10-27
  • 打赏
  • 举报
回复
要retrieve()啊﹗
給你一段類似代碼
數據窗口的itemfocuschanged事件
choose case dwo.name
case 'posit_no'
this.accepttext()
datawindowchild lcld_child
this.object.posit_no.dddw.name='d_hmrs2220_2_list'
this.object.posit_no.dddw.percentwidth=300
this.object.posit_no.dddw.vscrollbar='yes'
this.getchild('posit_no',lcld_child)
lcld_child.settransobject(sqlca)
lcld_child.reset()
lcld_child.retrieve(this.object.workline[row])
this.object.posit_no.dddw.showlist='yes'
end choose
klbt 2003-10-27
  • 打赏
  • 举报
回复
你的数据窗口要先retrieve()

609

社区成员

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

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