读书人

关于数据窗口中的任何一列的数据修改的

发布时间: 2013-03-12 11:19:35 作者: rapoo

关于数据窗口中的任何一列的数据修改的记录?
就是将数据窗口中任何一列的数据变化,都能insert日志一条记录(有改变的列记录 ,没有改变的就不用记录了)
比如下列的dw中
id name js tj zl
bh001 鞋子 10 1.22 0.12

现在将【鞋子】 改为【衣服】

在日志中要能记录这么一条记录:某某人将name由【鞋子】改为【衣服】

该怎么做才好呢?
[解决办法]
getitemstring之类的函数有第三个参数的,就是指定要取的缓冲区,你看一下pb的help
[解决办法]
用datawindow.object.primary.current.name[i] 和 datawindow.object.primary.orignal.name[i]
比较就知道你是否真的修改了name数据

dwcontrol.object.primary.current.name[i] 是主缓冲区当前数据
dwcontrol.object.primary.orignal.name[i] 是主缓冲区原始数据,从数据库里检索的时候,这里保存着从数据库里检索出来的原始数据。

也可以用
dwcontrol.GetItemString (i,'name',primary!,True)
获取主缓冲区当前数据
dwcontrol.GetItemString (i,'name',primary!,False)
获取冲区原始数据

要获取其他缓冲区只需把primary改为 delete,filter

读书人网 >PB

热点推荐