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

 

 

 

 

 

 

原文:https://blog.csdn.net/zhou279818998/article/details/78273889

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值