导航
  • 主页
  • API 调用
  • 基础类
  • 控件与界面
  • 数据库相关
  • DataWindow
  • 项目管理
  • Web 应用
  • 脚本语言

问题没有解决,我把详细步骤列出来了:为什么我在DW_DDLB中取值总是第一条记录的值

blackfox0322 2003-12-19 11:17:56
我把我做的工作说详细点,便于大家分析
我有两个表bmb(部门表:BMBH,BMMC),ZB(BH,FY,BMBH,BZ)

新建了一个FREEFORM数据窗口字段为BMB中的两个字段,其中BMBH隐藏,名称为D_BH
新建了一个GRID数据窗口字段为ZB中的字段,名称为D_ZB

新建了一个EDIT STYLE名称为ES_BMBH 其中STYLE改为DROPDOWNDW
DATAWINDOW:D_BH; DISPLAY COLUMN:BMMC; DATA COLUMN:BMBH

在窗口中的OPEN事件里写入了
dw_1.settransobject(sqlca)
dw_1.retrieve()
dw_2.settransobject(sqlca)
dw_2.retrieve()
DW_1的DATAOBJECT为D_BH, DW_2的DATAOBJECT为D_ZB
在CB_1中的CLICKED中有程序
string ls_bmid
ls_bmid=dw_1.getitemstring(dw_1.getrow(),'khdwbh')
messagebox("aa",string(dw_1.getrow())+","+ls_bmid)
可是我不管怎么改他总是反回1,001.我不知我哪个环节出问题了
...全文
13 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
klbt 2003-12-19
你可以在Freeform的dw_1设置纵向卷滚条,就可以看到后面的数据了。
回复
suzh1133 2003-12-19
搞了半天你的dw_1是free格式,正如楼上所说的你一直都是在第一条记录上操作,当然显示的是1,001了。

想操作多条记录,可以建立一个grid数据窗口D_BH_grid,放到dw_2中,然后
dw_2.sharedata(dw_1)
回复
blackfox0322 2003-12-19
to chrisfy(K.O)
有什么好的解决方法呢?
回复
chrisfy 2003-12-19
dw_1可是FREEFORM风格数据窗口,这种风格的dw只能在数据窗口控件显示区域内显示一条记录,当你dw_1.retrieve()后ls_bmid=dw_1.getitemstring(dw_1.getrow(),'khdwbh')取得值始终是dw_1.getrow()的值,即第一行的值(假如数据库中有数据,数据窗口retrieve后,将置第一行为当前行),当然只返回1,001了
回复
blackfox0322 2003-12-19
to suzh1133(suzh):
我按你的方法做了,值改变了,TAB上面是标出的40
可是还是返回的1,001
详情请参看:http://expert.csdn.net/Expert/topic/2579/2579541.xml?temp=.951626
回复
blackfox0322 2003-12-19
晕,我终于知道我错在哪里了,我犯了一个很低级的错误,
ls_bmid=dw_1.getitemstring(dw_1.getrow(),'khdwbh')这句话应该把'KHDWBH'改为'KHDWMC'
用户选择的是客户单位名称,并不是编号,所以当名称改变时会反回相应的编号.
55555,不行,我还要加大学习PB的时间,我要发粪 ,我要涂墙.我向各位学习...
谢谢大家这么关心我,散分了
回复
发动态
发帖子
PowerBuilder
创建于2007-09-28

816

社区成员

PowerBuilder 相关问题讨论
申请成为版主
社区公告
暂无公告