【功能說明】
用途:使用於Client端,用在設定對用戶整體的輸入資料做預設、合法性檢查等功能。
【元件屬性】
Name(名稱)(string)
元件名稱,用於識別該元件。
BindingSource(資料源)(InfoBindingSource)
設定對應的BindingSource,指自動預設、合法性檢查的對象資料表等。
CarryOn(取自上筆)(bool)
如果此屬性設為True,則系統會記錄最新更改或新增過的最近一筆資料,並在下次新增時,將部份欄位複製過來,此功能也是預設的一種類型,只不過他會預設最近一次新增會更改的值。其CarryOn的欄位定義在FieldItem中。注意,第一次打開BindingSource所進行第一次新增時,因為沒有前一筆,所以CarryOn無效。另外須注意CarryOn必須配合DefaultActive=True才會有作用,因為CarryOn也是Default的一種方式。
CheckKeyFieldEmpty(檢查Key欄位是否為空)(bool)
此屬性設為True的情況下,系統檢測Key欄位是否為空值,否則直接提交不做檢查。
DefaultActive(自動預設)(bool)
此屬性為True時,則可依FieldItems來設定對某些欄位預設其內容值。如果為False者,則所有FieldItems的預設會全部無效。
ValidActive(合法性檢查)(bool)
True代表要啟動合法性檢查功能,欄位檢查規則在FieldItems中定義之。
FieldItems(欄位明細)(Collection)
在此設定哪些欄位需要預設值,或者需要對User所輸入的欄位進行合法性檢查等。可同時設定多個FieldItem,每個FieldItem有以下幾個屬性:
CheckNull(空白檢查)(bool):True/False,設定該欄位是否
要作空白檢查,所謂空白包括空字串或數值0等。
CheckRangeFrom(檢查範圍條件起始)(string):設定範圍檢核時,開始的值
CheckRangeTo(檢查範圍條件結束)(string):設定範圍檢核時,結束的值
DefaultValue(預設值)(string):設定該欄位的預設值。此處
可以使用字串或數字的常數(固定值)或使用函數方式,函數
的使用方法詳見Examply1。
CarryOn(取自上筆)(bool):True/False,為True代表此欄位
要取自最近一筆的內容值,CarryOn與DefaultValue只能選
其一有效。
FieldName(欄位名稱)(string):要處理的欄位名稱,可以用
在預設處理或合法性檢查皆可。
Validate(合法性檢查)(string):設定該欄位的合法性檢查規則,並在User輸入後如不符合規則時給予提示。因為是合法性檢查,所以這裡只能使用函數,並且返回bool值True/False來控制是否合法。設定函數的方法同DefaultValue,見Examply1。
ValidateLabelLink(檢查欄位對應Lable)(string):配合ValidateColor與ValidateChar功能所要對應的欄位Label(DataGridView者可以不必設定)。
WarningMsg(提示訊息)(string):當Validate合法性檢查沒有通過時,將提示給User的訊息。
DuplicateCheck(重複檢查)(bool)
是否要在存檔前做重複檢查,True代表要,否代表不要,重複檢查的模式設定在DuplicateCheckMode中。
DuplicateCheckMode((重複檢查模式)(enum)
共有ByLocal與ByWhere兩種,By
Local是尋找目前的InfoBindingSource內的資料是否重複,一般是以鍵值來找(KeyFields),如果有重複會告之User,一般使用於Master/Detail表單中的Detail InfoBindingSource;如果是以ByWhere,則系統會在存檔前先自行去後端下Select count(*) from table where keyfield=val .. 方式尋找是否有重複鍵值,此目的是為了控制避免因為後端有重複資料而送回前端的錯誤訊息。
ValidateColor(檢查欄位顏色)(color)
是否設定所要檢查欄位的抬頭,讓其自動變成指定的顏色,預設為紅色,此檢查欄位對象不為DataGridView時,必須另外指定其對應抬頭的Label。
ValidateChar(檢查欄位字元)(string)
是否設定所要檢查欄位的抬頭,讓其前面自動加上此字元,預設為「*」,檢查欄位對象不為DataGridView時,必須另外指定其對應抬頭的Label。
ValidateMode(
合法性檢測模式 )(enum)
共有
All 與 One 兩種,預設為 One, 一次一個警告訊息的方式 , 如果為 All, 就代表一次全部警告
LeaveValidation(
是否離開焦點檢測 )(bool)
用於可控制在焦點離開時是否會驗證合法性。
ValidateListBox(
合法性檢測ListBox )(enum)
設定用來顯示Validate的Message的ListBox。
【事件】
ShowMessage ( Eventarg e)
顯示訊息之後觸發。
Validate ( Eventarg e)
檢驗之後觸發。
【功能函數】
此元件無功能函數。
【其他說明】
1. 本元件內的檢查欄位如果只設定 CheckRangeForm 或 CheckRangeTo ,即可達到單向的範圍檢查,如可達到 " 必須大於等於 " 與 " 必須小於等於 " 的功能,系統訊息也會自動匹配。