itemchange出错,该怎么处理
itemchange出错
choose case ls_dwoname
case "a"
this.SetFilter("a="+data)
ll_cnt=this.retrieve()
ll_a=this.getitemnumber( row, "a")
ls_b=this.getitemstring( row, "b")
ls_c=this.getitemstring( row, "c")
ls_d=this.getitemstring( row, "d")
很简单的语句,就是在一个要实现检索条件功能DW的itemchange里写的,但是有时候选择检索条件后ll_a,ls_b等会报错得不到数据,跟踪发现ll_cnt=0
请问可能会是什么原因?看了下出错的数据行好像并没有什么问题。。。感觉这么简单的东西应该不会有问题来的
------解决方案--------------------
this.SetFilter("a="+data)
ll_cnt=this.retrieve()
改成
This.SetFilterr("")
This.Filter()
This.SetFilter("a = '"+data+"'")
This.Filter
多看看书啊
------解决方案--------------------
代码有问题,在重新retrieve后怎么又读信息,这个时候的row已经发生变化了的
一、setfilter不会进行过滤的,只是设置了过滤器,要有filter才会生效;
二、在setfilter后,如果没用清除过滤器,即使重新retrieve,过滤器还是会生效的;
三、retrieve后再getitem,这个时候当前数据窗口已经改变了,这个时候的row还有什么意义?
------解决方案--------------------
你报错的是getitem,因为这个时候的row已经没什么意义了,
如果只是为了不报错,你在getitem前加个判断就是了 if row<1 then return
不过没意思,你的代码模糊,自己理一下先,
------解决方案--------------------
choose case ls_dwoname
case "a"
this.SetFilter("a="+data)
ll_cnt=this.retrieve()
ll_a=this.getitemnumber( row, "a")
ls_b=this.getitemstring( row, "b")
ls_c=this.getitemstring( row, "c")
ls_d=this.getitemstring( row, "d")
很简单的语句,就是在一个要实现检索条件功能DW的itemchange里写的,但是有时候选择检索条件后ll_a,ls_b等会报错得不到数据,跟踪发现ll_cnt=0
请问可能会是什么原因?看了下出错的数据行好像并没有什么问题。。。感觉这么简单的东西应该不会有问题来的
------解决方案--------------------
this.SetFilter("a="+data)
ll_cnt=this.retrieve()
改成
This.SetFilterr("")
This.Filter()
This.SetFilter("a = '"+data+"'")
This.Filter
多看看书啊
------解决方案--------------------
代码有问题,在重新retrieve后怎么又读信息,这个时候的row已经发生变化了的
一、setfilter不会进行过滤的,只是设置了过滤器,要有filter才会生效;
二、在setfilter后,如果没用清除过滤器,即使重新retrieve,过滤器还是会生效的;
三、retrieve后再getitem,这个时候当前数据窗口已经改变了,这个时候的row还有什么意义?
------解决方案--------------------
你报错的是getitem,因为这个时候的row已经没什么意义了,
如果只是为了不报错,你在getitem前加个判断就是了 if row<1 then return
不过没意思,你的代码模糊,自己理一下先,
------解决方案--------------------