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

关于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, columnE
columnB = 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取不到东西用以下一步的数据库比较=。=