資源描述:
《pb中下拉列表使用的若干技巧》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、PB中下拉列表使用的若干技巧于紅 聶尚宇摘要 對PB中下拉列表的使用方法進行了研究,并提出了幾種使用下拉列表的實現(xiàn)方法,實踐表明這些方法具有簡單實用的特點。關(guān)鍵詞 下拉列表;動態(tài);控件;事件;SomeSkillsintheUseofDDLBofPBYuHongNieShangyuDepartmentofElectronicEngineering,DFUAbstract TheuseofDDLBinPBisstudiedandsomeskillsareproposed.Theresultsshowthattheseskills
2、aresimpleandpractical.Keywords DDLB;dynamic;control;event 隨著科學(xué)技術(shù)的不斷發(fā)展,計算機已經(jīng)應(yīng)用于社會的各個領(lǐng)域,相應(yīng)的管理軟件的編制工作顯得尤為重要?,F(xiàn)有的編程工具中,PowerBuilder是數(shù)據(jù)庫管理軟件設(shè)計比較理想的工具,但如何合理地選用控件和靈活地使用每一個控件,以充分發(fā)揮PB的優(yōu)勢,是人們在編程過程中常遇到的難題。作者對PB中的控件之一——下拉列表的使用[1]進行了研究,并提出幾個靈活使用下拉列表的方法。1 下拉列表及其相應(yīng)的事件① 下拉列表是在窗口中
3、定義的一個控件,與之相應(yīng)的事件如下表所示:表1下拉列表控件上的事件事件名稱觸發(fā)時機Constructor在窗口中的OPEN事件發(fā)生前觸發(fā)Destructor在窗口中的CLOSE事件發(fā)生后觸發(fā)Doubleclicked當下拉列表控件(選中且激活)被雙擊時觸發(fā)Dragdrop當一個可拖動控件到達下拉列表控件時觸發(fā)Dragenter當一個可拖動控件進入下拉列表控件時觸發(fā)Dragleave當一個可拖動控件離開下拉列表控件時觸發(fā)Dragwithin當一個可拖動控件在下拉列表控件內(nèi)部時觸發(fā)Getfocus正在下拉列表控件獲得焦點之前(它
4、被選中且成為有效以前)觸發(fā)。Lostfocus當下拉列表控件失去焦點時觸發(fā)Modified當下拉列表控件失去焦點,同時下拉列表控件的文本內(nèi)容已被更改,且按動了ENTER或TAB時觸發(fā)Other當一個WINDOWS信息發(fā)生非PowerBuilder事件(例如,用戶按動了鼠標中間的鍵)時觸發(fā)Rbuttondown當用戶在下拉列表空間中按動鼠標右鍵時觸發(fā)Selectionchanged當選中下拉列表控件的某一項時觸發(fā) 當選中下拉列表控件的某一項時,不僅觸發(fā)Selectionchanged事件,還會觸發(fā)Modified事件。2 動
5、態(tài)使用下拉列表 傳統(tǒng)的下拉列表使用是靜態(tài)的,它在一定程度上滿足了編程的需要,但是不能滿足所有需要。例如,有時希望下拉列表中的選項在程序運行過程中可以變化,這用靜態(tài)下拉列表定義選項是不能實現(xiàn)的,這就促使人們?nèi)ニ伎既绾问褂脛討B(tài)下拉列表。有兩種情況需要使用動態(tài)下拉列表?! ?)下拉列表中的選項與數(shù)據(jù)庫中某列的內(nèi)容相關(guān)聯(lián)② 實際應(yīng)用中,在對數(shù)據(jù)庫表中的數(shù)據(jù)按名稱進行查詢時,為了減少輸入量,可以將庫中某列的內(nèi)容(如單位名稱)列在下拉列表中供用戶選擇,這樣既可以保證選中的項目一定是庫中的項目,而且不用輸入漢字;又使下拉列表的使用具有
6、一定的靈活性,動態(tài)下拉列表選項的確定必須在下拉列表被使用之前進行,可以在下拉列表所在窗口的Open事件中確定,也可以在下拉列表的Getfocus事件中確定,相應(yīng)的script為 stringid,ic inti-op=1 declarec1cursorfor selecthotelidfromhotelid-danganusingSQLCA; openc1; fetchc1into:id; dowhilesqlca.sqlcode=0 selectp1602into:icfromp16wherep1601=
7、:idusingsqlca; iffinditem(ddlb-1,ic,1)=-1then ddlb-1.insertitem(ic,+i-op) i-op=i-op+1 endif fetchc1into:id; loop closec1; 其中,下拉列表中的項目取自數(shù)據(jù)庫表hotelid-dangan的hotelid列所對應(yīng)的p16表中的p1602(即單位名稱)?! ?)在下拉列表的使用過程中動態(tài)增加選項[1] 下拉列表中的選項在使用過程中有可能需要隨時增加一些內(nèi)容,例如:在“政治面貌”一列
8、的下拉列表中包含黨員、群眾、團員。在運行過程中,發(fā)現(xiàn)有的人“政治面貌”為“民主黨派”,此項不能從下拉列表中選擇,但若“政治面貌”為“民主黨派”的人很多,輸入量就會增加,這時用戶可能希望將“民主黨派”送到下拉列表中以便于輸入。處理方法:下拉列表控件定義為“可編輯”,下拉列表控件的Modifi