PB判断数据窗口数据是否更改及原始值与当前值
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PB判断数据窗口数据是否更改及原始值与当前值
dwcontrol.GetItemStatus ( row, column, Primary! )可以获取该缓冲区内指定单元的状态,当参数column为0时,表示读取整个列的修改状态。有以下状态。
NotModified! :指定单元的数据和原始数据相同,没有修改过。DataModified!:指定单元的数据和原始数据不同,修改过。New!:该数据行是新增加的,但还没有在该行上输入数据。
NewModified!:该数据行是新增加的,并且已经在该行上录入了数据。
dwcontrol.GetItemString( row, column {, dwbuffer, originalvalue } )
参数
dwcontrol:数据窗口控件名
row:long型,要得到数据值的单元所在的行
column:要得到数据值的单元所在的列,该列的数据类型必须是String类型。column参数可以是列号(integer类型),也可以是列名(string类型)。
dwbuffer:dwBuffer枚举类型,指示想得到数据窗口哪个缓冲区的值。有效取值为:
Primary! - 缺省值,得到主缓冲区中的数据(未被删除或过滤掉的数据)
Delete! - 得到删除缓冲区中的数据(从数据窗口中已经删除的数据)
Filter! - 得到过滤缓冲区中的数据(从数据窗口中已经过滤掉的数据)
originalvalue:boolean类型,指示要得到指定单元(由行/列值决定)的原始值还是当前值。有效取值为:
True:得到原始值(从数据库中检索出的初始值,该值不受当前修改的影响)
False:该参数的缺省值,表示函数将得到指定单元的当前值。
返回值String。函数执行成功时,返回指定单元的String型数据值;如果指定单元的数据值为NULL,则函数返回NULL;如果发生错误,函数返回空字符串("");如果任何参数的值为NULL,则GetItemString()函数返回NULL。
代码(未定义变量)
li_colcount = long(dw_1.describe("DataWindow.Column.Count"))//取列数
for li_i = 1 to li_colcount
ls_colname = dw_1.describe('#' + string(li_i) + '.name')
i = dw_1.getitemstring(dw_1.getrow(),ls_colname,Primary!,true) //原始值
j = dw_1.getitemstring(dw_1.getrow(),ls_colname,Primary!,false) //当前值
if i < > j then
messagebox(‘’,’数据修改过’)
end if
next