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

WebClientQuery

 

 

【功能說明】

此元件使用於web網頁,用於自定義資料的查詢條件。類似於WebNavigatorQuery功能,但比WebClientQuery的查詢設定更加靈活,功能更齊全。它也可以配合WebRefValWebComboBoxWebDateTimePicker等作為查詢條件的輸入元件。並可組合User輸入的條件來自動產生QuerySQL語句,並可作為一般查詢表單與報表的條件輸入對話框,不必另外再設計任何頁面與格式。

 

【元件屬性】

(ID)(名稱)(string)

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

DataSourceID(資料源)(string)

要查詢的資料源(WebDataSource),執行查詢時會對本元件對應的資料源做SetWhere的動作,代表對後端下達Where的指令。



Colomns(查詢欄位明細)(collection)

查詢條件的各欄位明細,每個查詢欄位有以下屬性:

Caption(欄位抬頭)(string)設定每個查詢條件的抬頭。當你先選擇

Column欄位名稱後,系統會自動抓資料字典設定的內容。

Column(欄位名稱)(string)設定要做查詢條件的欄位名稱。

ColumnType(欄位類別)(enum)設定輸入元件的類別,共有以下6

別:

ClientQueryTextBoxColumn WebTextBox ):輸入元件為一般的 TextBox

ClientQueryComboBoxColumn Web DropDownList ):輸入元件為 Web DropDownList ,還須另外設定 WebRefVal 屬性來搭配此 DropDownList 型態 ( 定義在 WebRefVal )

ClientQueryRefValColumn WebRefValBox ):輸入元件為 WebRefValBox ,如果選擇此種類型,還應設定 WebRefVal 屬性。

ClientQueryCalendarColumn WebDateTimePicker ):輸入元件為 WebDateTimePicker

ClientQueryRefButtonColumn ( WebRefButton) :輸入元件為 WebRef Button ,如果選擇此種類型,還應設定 WebRef Button 屬性。

ClientQueryC heckB oxColumn ( WebCheckBox) 輸入元件為 Web CheckBox ,如果選擇此種類型, 這裡要注意: CheckBox 只能是

  Bool Char( Varchar) 的欄位 , bool=True/False, Char( Varchar) 只能是 Y/N

Condition(條件關係)(enum)Or或者And設定各查詢條件的組合關係。
WebRefVal(對應的WebRefVal)(string)設定關聯的WebRefVal,此屬性

用在ColumnTypeComboBoxRefValBox時。

NewLine(是否換行)(bool)True或者False。如果為True,則此輸入元件

會換行,如果為False,則此控制項與前一個控制項在同一行(在前一個的

)

Operator(查詢條件)(enum)選擇查詢條件的方式,有=!=<>>=<=%%%等。

TextAlign(文字對齊)(enum)設定輸入元件的對齊方式。

Width(顯示寬度)(int)設定輸入元件的寬度大小。

DefalutValue(預設值)(string)設定輸入元件的預設值內容,可以是常數或系統變數或設定為一個自定函數等。

Font(字型)(font)

設定各輸入元件的字體。

 

ForeColor(標題顏色)(color)

各輸入元件的標題的顏色。

 

GapHorizontal(水平間距)(int)

各輸入元件之間的水準間距,以Pixed為單位。

 

GapVertical(垂直間距)(int)

各輸入元件之間的垂直間距,以Pixed為單位。

 

KeepCondition(保留條件)(bool)

設定是否需要保留上次User輸入的查詢條件,如果為True,則保留,當User再次打開查詢時,會自動將上次設定的條件恢復;如果為False則不會。

 

TextColor(輸入顏色)(color)

User輸入條件時的字體顏色。

InnerTable(表格線)(bool)

可以在對應的Panel上自動畫上Table表格線。

【事件】

此組件無事件。

 

【功能函數】

Execute():開啟查詢頁面,另開一頁面的方式來讓User查詢。

Execute(PanelObject):將查詢欄位顯示在指定的PanelObject上並讓User來輸入條件,最後會自動組成SQLWhere語法,並透過配合的WebDataSource 送往Server端,重新取得資料。

Show(PanelObject):將查詢欄位顯示在Panel的元件上,這樣就會直接對此Panel顯示所有查詢欄位。

Clear(PanelObject)可以將此Panel上所有的查詢欄位設定的查詢內容清除,即清除查詢條件。

String GetWhere ():

让设计者取得 ClientQuery 所得到的 SQL 語句,自行組織 SQL 语句。

 

String GetWhere (Panel):

Panel 取得组好的查询 Where 语句。

 

String GetWhereText()

可以取得各個查詢欄位的Captions與條件內容,並以sysmsg.xml中的多語言取得條件的翻譯,如" 客戶編號 等於 2101 ,而且 訂單日期 大於1/1/2007",而且 訂單日期 小於 10/31/2007" 等條件說明。

 

【其他說明】

 當你使用WebClientQuery.Execute() 時,如果User按下"OK"後資料沒出來的可能原因是因為少了一行DataBind(),如下:

 WebClientQuery1.Execute(Panel1);

 wdvMaster.DataBind();  //用此來讓wdvMaster資料與各元件進行資料綁定。

 

 

 

 

Top of Page