標籤:
每天的總結都是必須,好記性不如爛筆頭,好吧,一星期沒做筆記了,最近忙上PB了,哎東學學西學學,最可怕的就是最後都半斤八兩,吐槽一下關於PB的資源為何如此之少,今天記錄的是關於itemchanged事件的介紹。
Description:
itemchanged事件在datawindow裡的欄位被修改並且失去焦點後發生,當然在Update函數被調用之前也會觸發這個事件,事件共有三個參數:
long row ,表示當前行
dwobject dwo,表示datawindow裡的欄位,例dwo.name = “filedname”
string data, 表示new data也就是剛剛輸入的資料
Return Values
0 (預設) 接收資料,並轉移焦點到下一行
1 拒絕輸入的資料,並焦點不轉移
2 拒絕資料的輸入,但轉移焦點到下一行,並且資料不改變,跟修改之前一樣
Precautions
當資料視窗本身失去焦點時,是不會觸發此事件的
Sample
1: datetime lda_today //pb並不需要 “;”,但是在Disconnect時竟然需要”;”難以理解
2: // today() pb系統函數,得到當天日期; now() pb系統函數,得到時間
3: lda_today = datetime(today(),now())
4: // 相當於switch case 但文法上大同小異 需要注意
5: choose case dwo.name
6: // 欄位名稱
7: case "stu_info_stu_birthdate"
8: //作判斷,控制日期,或其他資料的輸入
9: if datetime(data) > lda_today then
10: messagebox("錯誤!","輸入的日期不能超過當前日期")
11: return 2
12: end if
13:
14: case "stu_info_stu_enterdate"
15:
16: if datetime(data) > lda_today then
17: messagebox("錯誤!","輸入的日期不能超過當前日期")
18: return 2
19: end if
20: case "stu_info_stu_phone"
21: if len(data) < 11 then
22: messagebox("錯誤!","請輸入正確的手機號碼")
23: return 2
24: end if
25:
26: case else
27:
28: return 0
29: //結束
30: end choose
路過的正在學習pb的,留個粉絲位,互相學習!!!
PB之入門-itemchanged(long row,dwobject dwo,string data)