pb相關(guān)學(xué)習(xí)pfc編程19.6數(shù)據(jù)窗口服務(wù)_第1頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、數(shù)據(jù)窗口作為PB 的一個控件,其功能在 PFC 中也得到了增強(qiáng)。PFC 為增強(qiáng)數(shù)據(jù)窗口功能而提供了一個u_dw 用戶對象和一些函數(shù)、事件以及服務(wù)。要利用這些功能,應(yīng)用程序中的所有數(shù)據(jù)窗口控件必須是數(shù)據(jù)窗口控件用戶對象 u_dw的后代,并在適當(dāng)?shù)氖录姓{(diào)用適當(dāng)?shù)腜FC 函數(shù)或者事件即可。在PFC 提供的數(shù)據(jù)窗口服務(wù)中,Basic 服務(wù)是最基本的服務(wù),該服務(wù)包含了對所有其他數(shù)據(jù)窗口服務(wù)的。此外,該服務(wù)還提供了若干使用標(biāo)準(zhǔn)erScript數(shù)據(jù)窗口函數(shù)的選擇方案,如Modify()和Describe(),提供了許多函數(shù)用于對象值。啟動該服務(wù),只需要使用語句of_SetBase(True)。表 19-1

2、4 是數(shù)據(jù)窗口服務(wù)及其解釋。表 19-14數(shù)據(jù)窗口服務(wù)下面為初學(xué)者介紹幾個常用的數(shù)據(jù)窗口服務(wù)。19.6.1Sort 服務(wù)數(shù)據(jù)窗口的Sort 服務(wù)使用戶能夠用四種方式指定數(shù)據(jù)的排序條件,以多種方式進(jìn)行排序。使用of_SetSort(True)語句啟動數(shù)據(jù)窗口的Sort 服務(wù)后,可以在適當(dāng)控件的適當(dāng)事件中編寫來實(shí)現(xiàn)排序。比如,可以提供按鈕讓用戶來指定排序條件,還可以讓用戶只點(diǎn)擊數(shù)據(jù)窗口控件的標(biāo)題欄(header)來完成,具體采服務(wù)功能位置Basic DataWindow service (an torFor all other servi )基本數(shù)據(jù)窗口服務(wù)n_cst_dwsrvDropDown

3、Search service根據(jù)輸入的一個或者多個字母在下拉數(shù)據(jù)窗口中自動滾動n_cst_dwsrv_dropdownsearchFilter service提供三種方式過濾數(shù)據(jù)窗口中的數(shù)據(jù)n_cst_dwsrv_filterFind and Replaervice查找和替換數(shù)據(jù)窗口中的數(shù)據(jù)n_cst_dwsrv_findLinkage service提供一種在數(shù)據(jù)窗口之間建立聯(lián)系的方法,比如主/從結(jié)構(gòu)n_cst_dwsrv_linkageMultiTable Update service控制一個數(shù)據(jù)窗口對象內(nèi)修改多個數(shù)據(jù)表n_cst_dwsrv_multitablePr Preview se

4、rvice提供普通的打印預(yù)覽功能n_cst_dwsrv_pr previewDataWindow Property service數(shù)據(jù)窗口屬性服務(wù)n_cst_dwsrv_propertyQueryMode service提供對特定查詢實(shí)現(xiàn) Query 模式的能力n_cst_dwsrv_querymodeReporting service提供增強(qiáng)的報表特征,如添加項(xiàng)目、縮放和打印n_cst_dwsrv_reportRequired Column service自動檢查所有指定的數(shù)據(jù)窗口列的值是否已輸入n_cst_dwsrv_reqcolumnDataWindow Resize service當(dāng)調(diào)

5、整數(shù)據(jù)窗口控件大小時調(diào)整數(shù)據(jù)窗口對象中控件的大小n_cst_dwsrv_resizeRow Management service提供普通的數(shù)據(jù)行處理功能,如、刪除和恢復(fù)刪除等n_cst_dwsrv_rowmanagerRow Selection service提供數(shù)據(jù)行的單選、多選和擴(kuò)展選擇的功能n_cst_dwsrv_rowselectionSort service提供不同的機(jī)制對數(shù)據(jù)窗口中的數(shù)據(jù)進(jìn)行排序n_cst_dwsrv_sort用哪種方式排序可由開發(fā)的開發(fā)風(fēng)格決定。點(diǎn)擊標(biāo)題欄來排序需要首先調(diào)用函數(shù)of_SetColumnHeader,函數(shù)語法如下:dwcontrol.instance

6、name.of_SetColumnHeader ()其中,dwcontrol 為數(shù)據(jù)窗口控件名稱(該數(shù)據(jù)窗口為u_dw 對象的后代);instancename 為用戶對象n_cst_dwsrv_sort 的實(shí)例變量,缺省為nv_sort;指定是否以標(biāo)題欄進(jìn)行排序。函數(shù)of_SetStyle 用來設(shè)定要使用哪種方式讓用戶來設(shè)定排序條件。函數(shù)的語法如下:dwcontrol.instancename.of_SetStyle ( sortstyle )其中,dwcontrol 和instancename 兩個參數(shù)與上面的含義完全相同;sortstyle 為一個整型參數(shù),它的取值及含義如下:DEFAUL

7、T 或者 0DRAGDROP 或者 1SIMPLE 或者 2DROPDOWNLISTBOX 或者 3erBuilder框用w_sortdragdrop 進(jìn)行拖放排序用w_sortsingle 進(jìn)行單一排序用w_sortmulti 進(jìn)行多個排序當(dāng)參數(shù)SortStyle 取值為 3 時,數(shù)據(jù)窗口中的每個數(shù)據(jù)欄都必須有一個對應(yīng)的文本對象。下面是一段例程:dw_emplist.of_SetSort(True) dw_emplist.inv_sort.of_SetColumnNameSource(2) dw_emplist.inv_sort.of_SetUseDisplay(True)dw_emplis

8、t.inv_sort.of_SetStyle (dw_emplist.inv_sort.DRAGDROP)19.6.2查找和替換服務(wù)當(dāng)需要為用戶提供在數(shù)據(jù)窗口中查找或者替換內(nèi)容時,使用PFC 的查找和替換編碼的工作量。首先使用of_SetFind(True)來啟動該服務(wù),然來激活該服務(wù)。例如:服務(wù)可以后可以編寫If IsValid(inv_find) Theninv_find.Event pfc_ReplaceDLG()End If19.6.3DropDown Search 服務(wù)數(shù)據(jù)窗口對象中使用下拉數(shù)據(jù)窗口編輯風(fēng)格的字段,可以方便用戶錄入數(shù)據(jù),并能在一定程度上保證錄入數(shù)據(jù)的規(guī)范。但是,如果下

9、拉框中包含的數(shù)據(jù)過多(3頁以上時),使用這種錄入方式有時還不如直接錄入快捷。如果能夠在用戶輸入前面的字母時下拉框能夠自動顯示與之匹配的選項(xiàng),無疑可以加快錄入的速度。 PFC 中提供DropDown Search 服務(wù),可以讓用戶在下拉框中鍵入字母時自動進(jìn)行匹配查找。缺省時,下拉框允許用戶鍵入一個字母,erBuilder 使用戶移動到所鍵入字母開始的第一行。遺憾的是,用戶無法鍵入多個字母來查找更適合的項(xiàng)目。首先應(yīng)該使用of_SetDropDownSearch(True) 啟動該服務(wù)。然后,指定想讓數(shù)據(jù)窗口中哪些欄具有搜索功能,并使用下面函數(shù)打開此功能: dwcontrol.instancenam

10、e.of_AddColumn ( column )其中,dwcontrol 為基于u_dw 用戶對象的數(shù)據(jù)窗口對象;instancename 為 n_cst_dwsrv_dropdownsearch 實(shí)例變量,缺省為inv_dropdownsearch;可選參數(shù) column 是String 類型的,用來指定要添加到 istr_columns 數(shù)組中的列,該列應(yīng)該是下拉數(shù)據(jù)窗口的編輯樣式,并且包含的數(shù)據(jù)類型為 String 類型,如果省略該參數(shù)則添加數(shù)據(jù)窗口對象中所有的具有下拉數(shù)據(jù)窗口編輯樣式的字段。最后一個步驟是將數(shù)據(jù)窗口控件的EditChanged 和ItemFocusChanged 事件

11、重定向到其對應(yīng)的PFC 事件pfc_EditChanged 和 pfc_ItemFocusChanged。例如,在EditChanged 事件中可以編寫如下來重定向事件:inv_dropdownsearch.Event pfc_EditChanged(row,dwo,data)19.6.4Required Column 服務(wù)為了保證用戶在非空字段中必須輸入數(shù)據(jù),原來常用的方法是將字段的 Required屬性設(shè)置為True。但是,這樣做經(jīng)常在沒有輸入數(shù)據(jù)的字段失去焦點(diǎn)時顯示提示窗口,這容易導(dǎo)致用戶為了繞過該信息而隨便輸入數(shù)據(jù)。為了解決這個問題,還可以編寫在數(shù)據(jù)提交之前檢驗(yàn)是否在所有的必須輸入字段

12、中輸入了數(shù)據(jù)。Required Column 服務(wù)為開發(fā)解決了該問題。為了使用該服務(wù),首先使用of_SetReqColumn(True)來啟動該服務(wù)。選中數(shù)據(jù)窗口對象中字段的Required 屬性(使該屬性的取值為 True),當(dāng)窗口激活 pfc_Save事件時,PFC 自動進(jìn)行檢查以確保Required 字段都有值。該服務(wù)還提供了幾個函數(shù)以便編程靈活控制。比如,當(dāng)需要使用erBuilder本身的處理機(jī)制來校驗(yàn)一些Required 字段時,可以調(diào)用of_RegisterSkipColumn函數(shù),該函數(shù)的語法如下:dwcontrol.instancename.of_RegisterSkipColumn ( colu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論