Appendix BClient端元件\DefaultValidate

DefaultValidate

 

 

【功能說明】

用途:使用於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代表此欄位

要取自最近一筆的內容值,CarryOnDefaultValue只能選

其一有效。

 

FieldName(欄位名稱)(string)要處理的欄位名稱,可以用

在預設處理或合法性檢查皆可。

 

Validate(合法性檢查)(string)設定該欄位的合法性檢查規則,並在User輸入後如不符合規則時給予提示。因為是合法性檢查,所以這裡只能使用函數,並且返回boolTrue/False來控制是否合法。設定函數的方法同DefaultValue,見Examply1

 

ValidateLabelLink(檢查欄位對應Lable)(string)配合ValidateColorValidateChar功能所要對應的欄位Label(DataGridView者可以不必設定)

 

WarningMsg(提示訊息)(string)Validate合法性檢查沒有通過時,將提示給User的訊息。

 

DuplicateCheck(重複檢查)(bool)

是否要在存檔前做重複檢查,True代表要,否代表不要,重複檢查的模式設定在DuplicateCheckMode中。

 

DuplicateCheckMode((重複檢查模式)(enum)

共有ByLocalByWhere兩種,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)

設定用來顯示ValidateMessageListBox

 

 

【事件】

ShowMessage ( Eventarg e)

顯示訊息之後觸發。

 

Validate ( Eventarg e)

檢驗之後觸發。

 

【功能函數】

此元件無功能函數。

 

【其他說明】

1. 本元件內的檢查欄位如果只設定 CheckRangeForm CheckRangeTo ,即可達到單向的範圍檢查,如可達到 " 必須大於等於 " " 必須小於等於 " 的功能,系統訊息也會自動匹配。

 

 

Top of Page