首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

关于itemchanged的疑问?该如何处理

2012-02-15 
关于itemchanged的疑问?想实现dw_1中每次增加或者修改一条数据后,把dw_1中增加或者修改的这条数据中的colu

关于itemchanged的疑问?
想实现dw_1中每次增加或者修改一条数据后,把dw_1中增加或者修改的这条数据中的
columnB,columnC,columnD与数据库中另一个表2中的columnB,columnC,columnD相
比较,如果三个column对应相同,就把表2中的columnE放入dw_1中的columnE。

因为itemchanged是触发于每个字段column改变的,如果像我这样想对应每条数据的增加修改放在哪个事件比较合适?

[解决办法]
增加窗口函数 wf_set_columnE(long row)

C/C++ code
if row < 1 or row > dw_1.rowcount() then return//以下假设 columnB等都是char类型的string columnB, columnC, columnD, columnEcolumnB = dw_1.getitemstring(row, 'columnB')columnC = dw_1.getitemstring(row, 'columnC')columnD = dw_1.getitemstring(row, 'columnD')select top 1 columnE into :columnE from 表2 where columnB = :columnB AND columnC = :columnC AND columnD = :columnD using sqlca;if sqlca.sqlcode = -1 then return dw_1.setitem(row, 'columnE', columnE)
[解决办法]
在itemchanged 中作判断的时候要注意 [当前列] ,也就是 dwo.name

也就是当前列的值不能使用getitem来获取, 要使用data 这个属性
[解决办法]
探讨
囧,奇怪,修改column的值之后 getitem取不到东西用以下一步的数据库比较=。=

热点排行