下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、PB中TreeView控件使用技巧PB中TreeView控件使用技巧 PB中TreeView控件使用技巧 PowerBuilder中的TreeView 控件為樹狀游覽,類似于WINDOWS的資源管理器,其特點是信息項呈樹狀層次結(jié)構(gòu),能更清晰地表現(xiàn)主、細(xì)目關(guān)系 ,操作非常方便。在應(yīng)用中可將其與DataWindow 配合使用, 一個提供信息的分類體系,一個提供具體信息,達到珠連碧合的奇妙效果。它特別適用于多級信息的分類檢索, 是多級菜單所無法比似的,它的表現(xiàn)形式深受程序設(shè)計人員和廣大用戶的喜愛,在許多應(yīng)用軟件中都能看到她的英姿。 在PowerBuilder下,TreeView 控件的應(yīng)用
2、較其它控件要復(fù)雜得多,剛接觸它時往往有些不知所措。但如果將它的機理搞清楚,掌握它也不是很難的事。下面我結(jié)合長白公司圖書分類檢索的實例,把TreeView 控 件的使用方法和大家探討一下。 一、應(yīng)用TreeView 控件的一般步驟 1、 建立一個應(yīng)用,并設(shè)好與數(shù)據(jù)庫的接口,這是操作數(shù)據(jù)庫的前提。 2、 在應(yīng)用中建一應(yīng)用窗口W_1,在其上加入二個名為dw_3和dw_4的datawindow控制對象和一個名為TV_1的TreeView對象。 3、 修改DW_3屬性 General:把Datawindow object name填寫一個已存在的名為DW_date的datawindow(注意:它與dat
3、awindow控制對象是不同的),用于生成樹視圖項,將其Visible項設(shè)為不可見。 4、 修改DW_4屬性 General:把Datawindow object name填寫一個已存在的名為DW_TS的datawindow對象,用于顯示查詢出的具體內(nèi)容。 5、 編輯TV_1的屬性 TreeView的樹視圖項不能直接編輯,必須在Script中編寫程序。 Picture:在Picture Name中加入四個不同的圖標(biāo),用于代表樹視圖中的兩個層次(一、二級)、兩種狀態(tài)(未選、選中)。 General:可根據(jù)具體應(yīng)用設(shè)定是否選中,其中: Delete Items:運行中是否允許刪除表項。 Disab
4、le PragDrog: 運行中是否允許拖放表項。 Edit Labels: 運行中是否允許單擊表項來改變表項的標(biāo)題。 Show Buttons:是否在表項放顯示+-按鈕,有示相對的擴展和收縮。 Hide Selection:當(dāng)該控件失去焦點時,選中項是否以高亮度顯示。 Show Line:表項間是否加一豎線。 Lines At Root:所有根層表項是否用豎線連接。 Indentation:子表項相對于父表項的向右縮進度。 6、 編寫TV_1的Script 這里是TreeView控件的關(guān)鍵,也是難點。 二、TreeView 控件的信息構(gòu)成及創(chuàng)建 樹視圖項TreeViewItem是TreeVi
5、ew 控件的基本信息單位,樹視圖項的生成一般有二種方法,一種是先生成根層視圖項,再在應(yīng)用中動態(tài)生成下級視圖項,另一種是把全部樹視圖項一次和成。兩種方法各有優(yōu)點,請根據(jù)具體情況選用,本例中采用后一種方法。 1、 樹視圖項TreeViewItem的主要屬性 Label:String 型,樹視圖項的顯示信息。 Data:Any型,樹視圖項的內(nèi)部值。 Level:Integer型,樹視圖項在樹視圖中級別。 Children:Boolean 型,它決定該項是否有下一層(如圖中書名)。 PictureIndex:Integer 型,該項非選中時所用的圖標(biāo)在圖標(biāo)隊列中的編號。 SelectedPicture
6、Index:Integer型,該項選中時所用的圖標(biāo)在圖標(biāo)隊列中的編號。 2、 生成TreeViewItem項用到的函數(shù) InsertItemFirst():將加入項作為第一項 InsertItemLast():將加入項作為最后一項 InsertItem():將加入項插入到指定項的后面 InsertItemSort():按順序放置。 3、 TreeView的常用事件 Constructor: 該事件在控件創(chuàng)建時觸發(fā),可在這里構(gòu)造TreeViewItem。 Click:單擊TreeViewItem項時,執(zhí)行查詢程序。 Double Click: 雙擊TreeViewItem項時,執(zhí)行查詢程序。 I
7、temPopulate 事件: 該事件在某TreeViewItem項首次展開時觸發(fā), 觸發(fā)的同時系統(tǒng)會將 該TreeViewItem項的句柄通過參數(shù)handle 傳遞過來。它主要用來生成對應(yīng)項的下層信息項。主要用于第一種方法。 三、 事件代碼 1、樹視圖控件TV_1的constructor事件代碼 wanqi 1999.6.28integer li_rowcount,li_rowstring li_current_dn,li_last_dn,li_current_ei,li_last_ei/聲明二個樹視圖的實例變量treeviewitem itvi_level_one,itvi_level_t
8、wo/long ii_h_l_one/long ii_h_l_twodw_3.settransobject(sqlca)/dw_3為隱含的數(shù)據(jù)窗口,存有生成樹的數(shù)據(jù)li_rowcount=dw_3.retrieve()/行數(shù)dw_3.setsort("lb,pm")dw_3.sort()/生成樹視圖的各級樹視圖項for li_row=1 to li_rowcountli_current_dn=dw_3.object.lbli_row/DW_3對象中"LB類別"li_current_ei=dw_3.object.pmli_row/DW_3對象中"
9、PM品名"if isnull (li_current_ei) thenli_current_ei=""end ifif li_current_dn< >li_last_dn then/IF LB不與一級視圖項重復(fù)/設(shè)置一級樹視圖項itvi_level_one.label=dw_3.object.LBli_row/視圖項的顯示信息itvi_level_one.level=1 /級別itvi_level_one.data=li_current_dn/視圖項的內(nèi)部信息itvi_level_one.pictureindex=1/沒選中時所用的圖標(biāo)序號itvi_
10、level_one.selectedpictureindex=3/選中時使用的圖標(biāo)序號itvi_level_one.children=(li_current_ei< >' ')/樹視圖是否有下一級ii_h_l_one=this.insertitemlast(0,itvi_level_one)/將項加入到一級樹的最后一項end if/設(shè)置二級樹視圖項if li_current_dn< >li_last_ei thenif li_current_ei<>' ' thenitvi_level_two.label=dw_3.objec
11、t.pmli_rowitvi_level_two.level=2itvi_level_two.data=li_current_dnitvi_level_two.pictureindex=2itvi_level_two.selectedpictureindex=4itvi_level_two.data=li_current_eiitvi_level_two.children=falseii_h_l_two=this.insertitemlast(ii_h_l_one,itvi_level_two)/將項加入到二級樹的最后一項end ifend ifli_last_dn=li_current_dn/設(shè)比較項li_last_ei=li_current_einext 2、tv_1控件的clicked事件代碼string s1treeviewitem iithis.getitem(handle,ii)s1=string(ii.label)choose case
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024葡萄酒年份酒經(jīng)銷商銷售數(shù)據(jù)分析與合同3篇
- 2025年度智能倉儲與車位買賣合同模板4篇
- 二零二五版酒店客房衛(wèi)生間防水處理與瓷磚粘貼合同2篇
- 2025年綠色生態(tài)住宅區(qū)物業(yè)管理招投標(biāo)及執(zhí)行合同3篇
- 2025年度物流車輛安全責(zé)任合同協(xié)議書4篇
- 2025年度長途客運大巴租賃合同范本4篇
- 2024年08月中國光大銀行蘇州分行互聯(lián)網(wǎng)業(yè)務(wù)產(chǎn)品經(jīng)理崗招聘1人筆試歷年參考題庫附帶答案詳解
- 2024石斛花卉種植基地環(huán)保改造與采購合同3篇
- 2025年度新能源汽車充電樁建設(shè)項目承包合同范本4篇
- 2024年08月浙江湖州銀行總行部門崗位選聘筆試歷年參考題庫附帶答案詳解
- 餐飲業(yè)環(huán)境保護管理方案
- 人教版【初中數(shù)學(xué)】知識點總結(jié)-全面+九年級上冊數(shù)學(xué)全冊教案
- 食品安全分享
- 礦山機械設(shè)備安全管理制度
- 計算機等級考試二級WPS Office高級應(yīng)用與設(shè)計試題及答案指導(dǎo)(2025年)
- 造價框架協(xié)議合同范例
- 糖尿病肢端壞疽
- 心衰患者的個案護理
- 醫(yī)護人員禮儀培訓(xùn)
- 無人機飛行安全協(xié)議書
- 2024-2025學(xué)年人教版七年級英語上冊各單元重點句子
評論
0/150
提交評論