附錄附錄\Appendix Web端元件\WebRefVal

WebRefVal

 

 

【功能說明】

用途:使用於Web網頁,此元件專門用來做為資料輸入的選單,並以開窗的方式來顯示資料表,可讓User可以選擇後傳回。


【元件屬性】

(ID)(名稱)(string)

元件名稱,用於識別該元件。

 

DataSourceID(資料源)(string)

指選單中資料表的資料源代號,就是指WebDataSource,即此關連選單的資料來源。

 

DataTextField(顯示欄位)(string)

用來設定要使用那一個欄位來顯示此WebRefVal,如可以設定”ProductName”WebRefVal顯示是以產品品名的欄位來顯示。

DataValueField(內容值欄位)(string)

用來設定要使用那一個欄位來表示其關聯的內容值,用在輸入資料時使用,如可以設定”ProductID”,做為產品輸入時輸入時的內容值。

 

BindingValue(綁定內容值)(string)

綁定後的內容值,此值會隨關連欄位的內容改變,一般都是會有Text來作為綁定的屬性,但在WebRefVal中較為特別,是以BindingValue做為綁定的內容值,系統也會以此值來關聯到DataSourceID的資料源。此內容值會在RunTime時決定,不必設置。

 

DataBindingField(綁定欄位)(string)

用來設定綁定到原始資料表WebDataSource的欄位,選擇此欄位時,請務必在BindingValue中先行設定到那一個欄位。如要綁定到”ProductID”者,則在BindingValue中請設定Bind(“ProductID”),這樣才能在DataBindingField中去選擇此”ProductID”欄位。注意,如果此DataBindingFieldBindingValue沒設定時,則在RunTime顯示WebRefVal時,則原資料檔在移動時,會因沒有綁定造成資料不會同步移動與關連。

 

UseButtonImage(圖示按鈕)(bool)

指示WebRefVal的按鈕外觀(trueImagefalse為普通button)

 

ButtonCaption(按鈕抬頭)(string)

設置當WebRefVal的按鈕外觀為button時,其按鈕上的文字抬頭。

 

ButtonImageUrl(按鈕圖示)(string)

設置當WebRefVal的按鈕外觀為Image時,按鈕上的圖案的Url位址。

 

ReadOnly(唯讀)(bool)

設置WebRefVal是否為唯讀,如果為True,則就不會有右邊的選單小Button

 

Caption(抬頭)(string)

關連視窗上面的抬頭文字內容。

 

Columns(欄位明細)(collection)

設定打開此關連選單時要顯示哪些欄位,此屬性為一個集合,可同時設定多個要顯示的欄位,如果不設定,則代表顯示所有欄位。其屬性包括:

 

ColumnName(欄位名稱)(string):要顯示的欄位名稱。

 

HeadText(表頭)(string) 要顯示的欄位表頭,此屬性會自動依DD資料字典來決定,也可以自行定義更改之。

 

Width(寬度)(int)欄位的寬度,以pixed或百分比來決定之。

 

ColumnMatch(欄位對應明細)(Collection)

設定從WebRefVal關聯選單中可以傳回部分欄位內容到原來WebDataSource欄位中,此屬性為一個集合,可設定多個欄位的對應關係,也就是說將User所選的WebRefVal的資料表的欄位值,傳回到目前資料表的某些欄位上,其屬性包括:

 

SrcField(來源欄位)(string):指定關選選單上的資料表欄位名稱。

SrcGetValue(來源值)(string):當不能單純以SrcField的欄位來取值時,

則可改用此運算式呼叫另一個程式來傳回自定義的內容值。

 

DestControlID(目的欄位)(string):設定要傳回原網頁上的元件名稱,

因為我們內部使用了自動Java Script機制,因此傳回的欄位必須以元件

的名稱來決定,無法單純以欄位名稱。

 

WhereItem(Collection)

WebRefVal被關聯或打開時,此時系統會自動以此Where的條件到後端重新取資料,WhereItem為一個集合,屬性包括:

 

FieldName(欄位名稱)(string):設定條件的欄位名稱。

Condition(條件)(enum):共有=,%,%%,>,<,!=,>=,<=等,用來控制何種where條件。

Value(內容值)(string):可設定常數或使用()的函數引用方式取得動態條件值,如可以利用此Value呼叫另一個程式取得其他TextBox.Text內容傳回到此Value來達到過濾與篩選此WebRefVal的條件。

 

CheckData(是否檢查)(bool)

可以設定是否在RefTextBoxDataGridViewRefValColumn輸入資料時, 檢查其鍵值是否存在。True為要檢查,False則不要。預設為True

True則可以控制資料輸入需為正確,如果不正確除了警告外,還會清為空白或是恢復原來的內容值 

 

AllowAddData(是否允許資料新增)(bool)

可控制WebRefVal頁面內的WebGridView Add Button是否顯示出來並可以新增資料注意此功能僅針對資料來源為WebDataSet接上 WebDataSource者。

IgnoreCase區分大小寫(bool)

true區分大小寫,False代表不區分。

 

OpenRefHeight(頁面高度)(int)

WebRefVal打開時,頁面高度大小。

 

OpenRefWidth(頁面寬度)(int)

WebRefVal打開時,頁面寬度大小。

 

OpenRefLeft(頁面左邊位置)(int)

WebRefVal打開時,頁面左邊位置。

 

OpenRefTop(頁面上面位置)(int)

WebRefVal打開時,頁面上面位置。

 

SessionMode(資料傳輸模式)(bool)

用於設定在RefVal的打開窗口中的資料源的傳輸模式,是以Session傳輸還是通過網頁Url傳輸。True表示用Session傳輸,否則則不然。

 

【功能函數】

SynchronizeBindingValue ()

用于解決使用者以手動方式將WebRelVal TextBox 內容清除後,雖然顯示空白,但實際值並未清除, 導致網頁在Post 後又恢復未修改前的值。

 

【其它說明】

1. WebRefVal如果資料量過大,配合WebDataSource時,請必須改用WebDataSet的連接方式,否則會因為資料過大造成SelectCommand的用法徒增效能上的困擾,主要是因為SelectCommand沒有PackedRecord的功能,會一次下載所有資料,不可不慎。

2. WebRefVal的開窗選單上,上有查詢功能,可以在開窗選單上再次下達Where的語法來高速篩選資料。

 

 

 

 

Top of Page