2009年1月16日星期五

一堆event搞不清楚, 解答

9/9/2004 12:45:02 PM

rowfocuschanged()
為記錄數(ROW)已經移動後自動執行的事件

rowfocuschanging()
為記錄數(ROW)移動前自動執行的事件, 可透過回傳值控制是否可移動記錄,例
return 0 允許移動記錄
return 1 不允許移動記錄

editchanged()
為欄位(Column)資料一有修改(只要有修改即算)自動執行的事件.

itemchanged()
為欄位(Column)資料已經修改後(輸入後按Enter後)自動執行的事件

itemfocuschanged()
為欄位(Column)的Focus變更,即由一欄位跳到另一欄位時(例按下TAB)自動執行的事件

constructor()
Control 物件一被 Create 起來時會自動執行的事件,類似Window 的Open Event

destructor()
Control 物件一被 destroy 起來時會自動執行的事件,類似Window 的Close Event

dberror()
有關 DatwWindow 中 Table Column 的設定或資料連結有問題時會自動執行的事件,
可透過回傳值控制訊息是否出現,例
return 0 顯示錯誤息
return 1 不顯示錯誤息

itemerror()
有關欄位(Column) 在輸入時驗證失敗時會自動執行的事件,例如資料格式不合,資料型態不合,...可透過回傳值控制是否可接受,例
return 0 不接受輸入值,並顯示錯誤息
return 1 不接受輸入值,但不顯示錯誤息
return 2 接受輸入值,不顯示錯誤息
return 3 接受輸入值,不顯示錯誤息,並可接受 Focus 跳到別的欄位

ue_enter()
為使用者自定事件,不為 PowerBuilder 預設事件,應該會是設定按下 Enter 變成 Tab 功能的事件

至於執行順序中,其 Contructor 是最先執行,destructor 最後執行,其餘是依事件狀態執行
其中的辦別是 item 指欄位, row 是指記錄 , Focus 是指焦點 , ed是已經發生 , ing是正在發生

以上是個人見解
Johnson
資料來源: 程序俱樂部 http://www.programmer-club.com/pc2020v5/forum/ShowSameTitleN.asp?URL=N&board_pc2020=pb&id=658

没有评论: