hur.cn - 华软网

 热门搜索

数据窗口添加新行问题

  作者:未知    来源:网络    更新时间:2019/10/7
数据窗口中增加新行,想做到某列的值对另一列产生控制.
比如当某列的值为0时,另一列的值也为0
itemchanged事件:
ss=dw_1.getitemnumber(row,'tjk')
if ss=0 then
dw_1.setitem(row,'tjk_kh',0)
end if
以上代码达不到效果,讨教,该怎么修改
------华软网友回答------
关头是row不对,能不写row 吗?
------华软网友回复------
应该是对当前行控制就能够了吧?
你用getrow()
------华软网友回复------
ss=dw_1.getitemnumber(row,'tjk')
if ss= 0 then
dw_1.setitem(row,'tjk_kh',0)
end if

如果你没有在其余地方控制tjk_kh列的值 而且ss为0时应该能够设置其列的值为0!
------华软网友回复------
数据窗口中增加新列的时候 你没有scrolltorow()?
------华软网友回复------
我有scrolltorow;
另外用getrow()我用过,追踪得不到当前值;好象ss=dw_1.getitemnumber(dw_1.getrow(),'tjk')获得的是前一次的值
------华软网友回复------
long vlrow 
vlrow = dw_1.insertrow(0)
dw_1.scrolltorow(vlrow)
我就不信你的getrow()会获得上一行的行号!
------华软网友回复------
这句话不能写itemchanged事件里,否则每次都会scrolltorow到空白增加行
------华软网友回复------
对,不写在itemchanged事件里,写在你增加新行的时候呀!
------华软网友回复------
itemchanged事件:
if dwo.name = "tjk" then
   ss=long( data )
   if ss=0 then
      dw_1.setitem(row,'tjk_kh',0)
   end if
else
   ss=dw_1.getitemnumber(row,'tjk')
   if ss=0 then
      dw_1.setitem(row,'tjk_kh',0)
   end if
end if


------华软网友回复------
写editchanged事件里。
------华软网友回复------
用data这个变量来获得当前输入的值

------华软网友回复------
1、对row、currentrow、getrow、selectrow等含义没搞清楚
2、对editchanged、itemchanged、itemfocuschanged等含义没搞清楚

分别对这些内容做一下尝试自己就清楚了      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。