浅议PB中数据窗口缓冲区与数据修改状态,filter( 二 )


=dw_l.(0)
//通过函数为列赋值
dw_l.(……)
//将新行的修改状态置为!
dw_l.(,0,!,!)
(2)在应用程序中提供Undo功能,将实现很好的用户友好效果 。本例中将数据窗口dw_l中的当前行、当前列的显示值置为从数据库中检索出的原始值:
=dw_l.(dw_l.(),dw_l.(),
&!,True)
dw_l.()
(3)在协调两个对象dw_l、dw_2的更新时,若其中一个更新失败,应阻止重设更新标志,以便回滚事务,一旦所有数据窗口都已成功更新,就可使用结束该事务,并使用重新设置数据窗口的状态标志 。
=dw_l.(True,False)//阻止重设更新标志
=lthen
=dw_2.(True,False)//阻止重设更新标志
=lthen
dw_l.()//清除更新标志
dw_2.()//清除更新标志

浅议PB中数据窗口缓冲区与数据修改状态,filter

文章插图
Else
;
Endif
Endif
(4)将数据行从删除缓冲区移到主缓冲区,实现取消删除的功能 。
dw_l.(l,dw_l.(),!,dw_l,l,!)
(5)讲缓冲区的修改状态改为未修改,更新时候不保存缓冲区内的数据
举例
if tab_1..rb_cq.then
for li_i = 1 to tab_1...()
tab_1...(li_i, 0,!, !)
next
end if
= tab_1....jlxh[i]
= .find("yzxh = "+(),1,.())
if> 0 then
tab_1....sybz[i] = 1
end if
方法
功能:中移除行操作,一旦行被移除则改行不能修改或保存,除非再次从数据库中 。
语法: . (long , long ,)
参数: 数据窗口
将要移除的开始行
将要移除的结束行
缓存区的值(!,!,! )
示例:dw_1.(1, dw_1.(), !)
将dw_1中从第1行到()行移除到!缓冲区中,则dw_1调用()方法时,以上被移除的行不会发生变化 。[1]
举例
for i = 1 to tab_1...()
= tab_1....pspb[i]
= tab_1....psjg[i]
= tab_1....ypyf[i]
if= 0 then
if=and1 then//皮试用,非阳性
if= 0 or= 1 then
tab_1...(i)
i --
end if
next
【浅议PB中数据窗口缓冲区与数据修改状态,filter】tab_1...( 1, tab_1...(), !)