首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

请问2个有关问题

2012-03-23 
请教2个问题1,在dw中打开另一个window的方法:填写入库单的过程中,要查找商品的编号,需要打开商品的那个win

请教2个问题
1,在dw中打开另一个window的方法:填写入库单的过程中,要查找商品的编号,需要打开商品的那个window进行选择(数量比较多用下拉式dw太麻烦)
2,接上面的问题,我尝试用dw对象的button,但是试运行打不开对应的window,是怎么回事

[解决办法]
建议一个方法:首先建立一个商品编号和名称的dw,最好用商品名称或名称拼音或编号的片段作为检索条件,(用like '%xxx%'),再建一个response窗口,这个窗口用于弹出,当选中某个商品后,并可以返回商品编号。
然后,在dw的itemchanged事件中写脚本。
if dwo.name = 'bh' then
openwithparm(刚才建的弹出窗口名,data) //打开列出商品合并和名称的弹出窗口

ls_bh = Message.PowerObjectParm //当在弹出窗口选择其中一个商品后,弹出窗口关闭并通过Message.StringParm返回商品编号,将其赋予ls_bh本地变量
thid.object.bh[row] = ls_bh
return 2
else
return 1
end 

在response类型窗口中,你要写:
open事件中:
ls_xx = Message.StringParm //即打开该窗口时,从主窗口中传过来的

ls_xx = '%'+ls_xx+'%'

dw_1.settransobject(sqlca)
dw_1.retrieve(ls_xx)

//如果条件符合,则能检索出一批数据,在数据窗口中显示。
在dw的itemfocuschanged事件中:

dw_1.selectrow(0,false)
this.selectrow(row,true)

keydown事件中:
CloseWithReturn(parent,is_code)

rowfocuschanged事件中:
is_code = this.object.bh[currentrow] //即为选中的那行商品编号
一旦选中后,按回车即可将此编号通过keydown事件关闭弹出窗口,并将代码返回给主窗口
大概就是如此,当然还可以通过结构相互传递更多的数据。
[解决办法]
关于计量单位问题,我不明白你说的不同的商品对应几个计量单位是什么意思?是一个商品有几个计量单位呢?还是各个商品有它对应的计量单位?看到后面的叙述好像是一个商品对应者几个计量单位,而希望从中选择一个单位,是这样吗?那好办,你可能要先将某个商品和它的计量单位先关联起来,然后,在计量单位那一列用一个dddw,这个dddw需要用商品编号作为条件,不就可以了吗。

热点排行