PB中的Grid类型数据窗口,
字段有:ID(自增列),ITEM_NO,item_tm,HM,MC,SL,jj,ze
我新增一行的时候,想输入item_tm列的数据时,tiem_no,HM,mc,jj,自动从数据库的其他表中调入进去,并实现ze=sl*jj
或输入item_no,自动匹配其他数据?
------解决方案--------------------
在dw的itemchanged事件中写:
- C/C++ code
string item_no, item_tm, mc, hmdec sl, jjsl = getitemdecimal(getrow(), 'sl')choose case dwo.name case 'item_tm' select item_no, hm, mc, jj into :item_no, :hm, :mc, :jj from tb where item_tm = :data; if sqlca.sqlcode = -1 then messagebox('', '出错!') return -1 end if setitem(getrow(), 'item_no', item_no) setitem(getrow(), 'hm', hm) setitem(getrow(), 'mc', mc) setitem(getrow(), 'jj', jj) setitem(getrow(), 'ze', sl * jj) case 'item_no' select item_tm, hm, mc, jj into :item_tm, :hm, :mc, :jj from tb where item_no = :data; if sqlca.sqlcode = -1 then messagebox('', '出错!') return -1 end if setitem(getrow(), 'item_tm', item_tm) setitem(getrow(), 'hm', hm) setitem(getrow(), 'mc', mc) setitem(getrow(), 'jj', jj) setitem(getrow(), 'ze', sl * jj) case elseend choose