1. 程式人生 > >PB判斷資料視窗資料是否更改及原始值與當前值

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