当前位置: 代码迷 >> PB >> 麻烦帮忙看看,这个脚本有什么有关问题,多谢
  详细解决方案

麻烦帮忙看看,这个脚本有什么有关问题,多谢

热度:181   发布时间:2016-04-29 09:24:56.0
麻烦帮忙看看,这个脚本有什么问题,谢谢
string r_bh,r_mc
choose case ddlb_spbh.text
  case"商品编号"
  dw_kcgrid.setfilter("spbh=string('"+r_bh+"')")
  case"仓库名称"
  dw_kcgrid.setfilter("ckmc=string('"+r_mc+"') ")
end choose
dw_kcgrid.retrieve()

------解决方案--------------------
首先,r_bh应当先赋值,
r_bh=?
若没有赋值,r_bh为空字符,当然筛选不出结果,

其次,
如果商品编号是integer 或long 型 则表达式应为
dw_kcgrid.setfilter("spbh="+r_bh)

如果商品编号是字符型 则表达式应为
dw_kcgrid.setfilter("spbh='"+r_bh+"'")

并且,
随后应执行dw_kcgrid.filter(),不然光设置筛选条件并没有执行筛选

仓库名称也是一样。

再则 dw_kcgrid.retrieve()放在前面是否好一些,先dw_kcgrid.setfilter("")
,dw_kcgrid.filter()取消所有筛选条件检索,待检索出数据后再行筛选不迟。 

原代码改为
string r_bh,r_mc

r_bh='12345' //商品编号实际值
r_mc='东2库'//仓库名称实际值

dw_kcgrid.retrieve()
dw_kcgrid.setfilter("")
dw_kcgrid.filter()

choose case ddlb_spbh.text
case"商品编号"
dw_kcgrid.setfilter("spbh='"+r_bh+"'")
case"仓库名称"
dw_kcgrid.setfilter("ckmc='"+r_mc+"' ")
end choose

dw_kcgrid.filter()



  相关解决方案