比如我在資料視窗的itemchanged事件寫
This.SetItem(row,dwo.Name,"zhi") 跟 This.Post SetItem(row,dwo.Name,"zhi") 效果是不一樣的。大家幫忙分析下post的作用以及itemchanged事件的處理機制
uj5u.com熱心網友回復:
Post 是最后處理的uj5u.com熱心網友回復:
01.資料視窗欄位輸入的時候觸發的事件EditChanged 當游標進入資料視窗物件中的一個欄位時觸發
ItemChanged 當資料視窗上的區域被修改并且失去了焦點(如用戶按回車鍵、Tab鍵或箭頭鍵,或者用滑鼠選另一個區域)時觸發
ItemFocusChanged 當焦點改變時觸發
ItemError 當一個域被修改并且失去焦點,且域不符合列上的合法性規則時觸發
如果EditChanged,ItemChanged,ItemFocusChanged這三個事件報錯促發ItemError
如果在ItemChanged事件中設定了行為/回傳代碼1,則DataWindow控制元件拒絕接受資料且不允許焦點發生變化
02.post 機制不是立刻執行,如在open中寫兩個陳述句,post的會被放到最后執行
triggerevent()
postevent
這兩個都是觸發功能,用法一樣,不過post卻不是立即觸發
uj5u.com熱心網友回復:
你說的很細致但不是我想要的 比如 我在一個某個列輸入bj然后再itemchanged事件里邊處理根據輸入的bj取出‘北京’然后再通過setitem賦值給這個列 那這時候這個列的值應該是‘北京’了, 但是后來確又變回了’bj‘ ,如果同過post setitem 賦值就還是’北京‘ 這是什么原因呢? 我說的比較亂大概就是這回事。uj5u.com熱心網友回復:
可以用settext('北京')轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/63659.html
標籤:DataWindow
