DDDW重复行的选择问题

chaiwl8869 2015-05-12 04:31:42
出库datawindow明细dw_1,名称列关联子窗口dwc_xmmc,过滤后的子窗口只要有名称重复但规格、编码不同的商品列表,通过上下键或者鼠标单击选择任意一个再选择其他,DW_1数据行都不能相应改变。如何解决?谢谢!
如:输入TG,子窗口会出现
铁锅 1211 18cm TG
铁锅 1211 24cm TG
铁锅 1212 18cm TG

//w_main open事件
if dw_1.getchild('ware_name',dwc_xmmc) = 1 then
dwc_xmmc.SetTransobject(sqlca)
dwc_xmmc.Retrieve(gs_unit_id)
end if

//dw_1 的itemchanged
this.accepttext()
setnull(ls_null)
setnull(ldc_null)
if dwo.name = 'ware_name' then
li_row = dwc_xmmc.GetSelectedRow(0)
if li_row = 0 then
this.object.ware_name[row] = ls_null
this.object.ware_code[row] = ls_null //项目编码
this.object.ware_spec[row] = ls_null //规格
else
this.object.ware_name[row] = dwc_xmmc.GetItemString(li_row, "stockhouse_ware_name")
this.object.ware_code[row] = dwc_xmmc.GetItemString(li_row, "stockhouse_ware_code")
end if
end if
//dw_1的ue_enter
if this.getcolumnname() = 'ware_name' then
LONG LL_ROW
LL_ROW=dwc_xmmc.GetSelectedRow(0)
this.object.ware_name[li_row] = dwc_xmmc.GetItemString(LL_ROW, "stockhouse_ware_name") //项目编码
this.object.ware_code[li_row]= dwc_xmmc.GetItemString(LL_ROW, "stockhouse_ware_code") //规格
this.object.ware_spec[li_row]= dwc_xmmc.GetItemString(LL_ROW, "stockhouse_ware_spec") //单位
end if

if this.getcolumnname() = 'pquantity' then

if this.getrow() = this.rowcount() then
cb_1.triggerevent(clicked!)//自动增加新的明细
return
end if
end if
//enter代替tab事件
send(handle(this), 256, 9, long(0, 0))
return 1

//dw_1的editchanged
if dwo.name = 'ware_name' then
if data <> '' then
dwc_xmmc.setfilter('')
dwc_xmmc.filter()
ls_sql ="(upper(trim(input_code)) like" + "'%" + upper(data) + "%') "
dwc_xmmc.setfilter(ls_sql)
dwc_xmmc.filter()
else
ls_sql ="ware_name <> ' ' "
dwc_xmmc.setfilter(ls_sql)
dwc_xmmc.filter()
dwc_xmmc.setsort('ware_name A')
dwc_xmmc.sort()
end if
end if
...全文
254 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xie良 2015-06-03
  • 打赏
  • 举报
回复
   我的建议是在SQL就解决,在名称前加一个编号.编号是唯一的.
chaiwl8869 2015-05-26
  • 打赏
  • 举报
回复
出去了几天,回复晚了,解决了。谢谢!
chaiwl8869 2015-05-17
  • 打赏
  • 举报
回复
引用 5 楼 lzp_lrp 的回复:
pb的下拉数据窗口是根据显示列来定位的,只要显示列唯一,数据列无所谓,你还是试一下再下定论



WorldMobile 2015-05-17
  • 打赏
  • 举报
回复
真被打败了,这一列数据列用代码,不要用名称
WorldMobile 2015-05-12
  • 打赏
  • 举报
回复
引用 4 楼 chaiwl8869 的回复:
数据列如果是表的字段,那么重复内容不能选择的问题就又出现了。你说的第一种方法,具体怎么实现?谢谢!
pb的下拉数据窗口是根据显示列来定位的,只要显示列唯一,数据列无所谓,你还是试一下再下定论
chaiwl8869 2015-05-12
  • 打赏
  • 举报
回复
数据列如果是表的字段,那么重复内容不能选择的问题就又出现了。你说的第一种方法,具体怎么实现?谢谢!
WorldMobile 2015-05-12
  • 打赏
  • 举报
回复
子窗口计算列为名称 + ' ' + 规格,这个计算列定义为show_name,dw_1 的ware_name显示列为ware_name,data column为show_name,选择重复的问题解决了,但是,修改保存后的窗口发现ware_name列为空列。dw_1的ware_name列也改为计算列则无法关联DDDW。 错了,显示列为show_name,数据列为你的列(code之类),保存的时候就没有问题了,你再试一下
chaiwl8869 2015-05-12
  • 打赏
  • 举报
回复
引用 1 楼 lzp_lrp 的回复:
或者在下拉数据窗口里做一个计算列为名称 + ' ' + 规格,这个计算列定义为show_name,然后在数据窗口里定义显示列为show_name
子窗口计算列为名称 + ' ' + 规格,这个计算列定义为show_name,dw_1 的ware_name显示列为ware_name,data column为show_name,选择重复的问题解决了,但是,修改保存后的窗口发现ware_name列为空列。dw_1的ware_name列也改为计算列则无法关联DDDW。
WorldMobile 2015-05-12
  • 打赏
  • 举报
回复
出库datawindow明细dw_1,名称列关联子窗口dwc_xmmc,过滤后的子窗口只要有名称重复但规格、编码不同的商品列表,通过上下键或者鼠标单击选择任意一个再选择其他,DW_1数据行都不能相应改变。如何解决?谢谢! 如:输入TG,子窗口会出现 铁锅 1211 18cm TG 铁锅 1211 24cm TG 铁锅 1212 18cm TG 答:分成两列,选选择名称,再选择规格 或者在下拉数据窗口里做一个计算列为名称 + ' ' + 规格,这个计算列定义为show_name,然后在数据窗口里定义显示列为show_name

610

社区成员

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

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