WebClientQuery


【功能說明】

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

【元件屬性】

(ID)( 名稱 )(string)

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

DataSourceID ( 資料源 )(string)

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

Caption( 查詢視窗抬頭 )(string)

打開查詢視窗時,在視窗顯示的抬頭內容,如果是配合 Panel 顯示時 ,本屬性無效。

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

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

Caption( 欄位抬頭 )(string) :設定每個查詢條件的抬頭。當你先選擇 Column 欄位名稱後,系統會自動抓資料字典設定的內容。

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

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

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 ,此屬性用在 ColumnType ComboBox RefValBox 時。

WebRefButton ( 對應的 WebRef Button )(string) 設定關聯的 WebRef Button ,此屬性用在 ColumnType RefValB utton 時。

NewLine ( 是否換行 )( bool) True 或者 False 。如果為 True ,則此輸入元件會換行,如果為 False ,則此控制項與前一個控制項在同一行 ( 在前一個的右方 )

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

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

Visible( 可否顯示 )(bool) 用於設定該查詢欄位是否現實,一般可以用於非 User 輸入的固定條件查詢

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

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

Font( 字型 )(font)

設定各輸入元件的字體。

ForeColor ( 標題顏色 )(color)

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

GapHorizontal ( 水平間距 )(int)

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

GapVertical ( 垂直 間距 ) (int)

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

KeepCondition( 保留條件 )(bool)

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

Margin( 邊距 )(int32)

各輸入元件產生時,在其視窗或 Panel 上面與左邊的空白邊距,以 Pixed 為單位。

TextColor ( 輸入顏色 )(color)

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

InnerTable ( 表格線 )( bool)

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

【事件】

此組件無事件。

【功能函數】

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

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

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

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

string Execute( bool ExecuteSQL)

ExecuteSQL True 時與前面 Execute() 一樣,如果為 False 代表不會去執行 Where 條件,而是在 Use r 按下 OK 時傳回查詢條件 , 按下 CANCEL 時則傳回 NULL 內容代表 User 按下取消。

String GetWhere ():

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

String GetWhere (Panel):

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

String GetWhereText()

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

【其他說明】

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

  WebClientQuery1.Execute(Panel1);

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

 

Converted from CHM to HTML with chm2web Pro 2.85 (unicode)