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. 當你使用 WebClientQuery.Execute () 時,如果 User 按下 "OK" 後資料沒出來的可能原因是因為少了一行 DataBind () ,如下:
WebClientQuery1.Execute(Panel1);
wdvMaster.DataBind(); // 用此來讓 wdvMaster 資料與各元件進行資料綁定
| Converted from CHM to HTML with chm2web Pro 2.85 (unicode) |