第7章 數(shù)據(jù)窗口_第1頁
第7章 數(shù)據(jù)窗口_第2頁
第7章 數(shù)據(jù)窗口_第3頁
第7章 數(shù)據(jù)窗口_第4頁
第7章 數(shù)據(jù)窗口_第5頁
已閱讀5頁,還剩91頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第7章數(shù)據(jù)窗口7.1數(shù)據(jù)窗口初步7.2數(shù)據(jù)源7.3數(shù)據(jù)窗口的顯示風(fēng)格7.4數(shù)據(jù)窗口畫板7.5設(shè)計數(shù)據(jù)窗口對象7.6數(shù)據(jù)窗口對象編程實(shí)例7.1數(shù)據(jù)窗口初步7.1.1創(chuàng)建數(shù)據(jù)窗口對象(1)首先連接所要的數(shù)據(jù)庫,然后單擊工具欄按鈕“New”,彈出“New”對話框,選擇其中的“DataWindow”選項頁,如圖7.1所示。7.1.1創(chuàng)建數(shù)據(jù)窗口對象(2)“DataWindow”選項頁中列出了12種數(shù)據(jù)窗口的樣式,每種樣式代表了一種獨(dú)特的顯示風(fēng)格,將在本章7.3節(jié)數(shù)據(jù)窗口的顯示風(fēng)格一節(jié)中介紹。例如,選擇“Freeform”顯示樣式,單擊“OK”命令按鈕,彈出選擇數(shù)據(jù)源對話框。(3)選擇數(shù)據(jù)源對話框如圖7.2所示。PowerBuilder提供了五種類型的數(shù)據(jù)源,分別是“QuickSelect”、“SQLSelect”、“Query”、“External”和“StoredProcedure”類型。7.1.1創(chuàng)建數(shù)據(jù)窗口對象(4)“QuickSelect”數(shù)據(jù)源對話框主要完成對數(shù)據(jù)庫中的表以及表中要顯示字段的選擇,如圖7.3所示。7.1.1創(chuàng)建數(shù)據(jù)窗口對象(5)在“SelectColorandBorderSettings”顏色和邊框設(shè)置對話框中,對數(shù)據(jù)窗口的背景顏色、字段標(biāo)簽的顏色和邊框類型以及字段的顏色和邊框類型進(jìn)行設(shè)置,如圖7.4所示。7.1.1創(chuàng)建數(shù)據(jù)窗口對象(6)“ReadytoCreateFreeformDataWindow”對話框顯示了關(guān)于新建數(shù)據(jù)窗口對象屬性的列表,供編程人員檢查、確定,如果有問題,隨時可以返回上一步操作重新選擇和設(shè)置數(shù)據(jù)窗口對象的屬性,如圖7.5所示。7.1.1創(chuàng)建數(shù)據(jù)窗口對象單擊“完成”命令按鈕“Finish”,創(chuàng)建數(shù)據(jù)窗口對象的工作即告初步完成,轉(zhuǎn)入數(shù)據(jù)窗口畫板,如圖7.6所示。7.1.1創(chuàng)建數(shù)據(jù)窗口對象(7)在數(shù)據(jù)窗口畫板中,可以對數(shù)據(jù)窗口對象進(jìn)一步設(shè)計修改。例如,可以隨意拖曳字段,改變字段的位置和大小,改變字體的大小、類型和顏色,改變背景的顏色,改變字段邊框的顯示效果,改變字段名稱的文本等。(8)單擊工具欄上的“保存”按鈕“Save”,這時會彈出保存數(shù)據(jù)窗口對象對話框,如圖7.7所示。7.1.2創(chuàng)建數(shù)據(jù)窗口控件創(chuàng)建數(shù)據(jù)窗口控件與創(chuàng)建命令按鈕、單選按鈕、多行編輯框相似,首先打開或創(chuàng)建一個窗口,然后在控件工具箱中選擇“CreateDataWindowControl”。數(shù)據(jù)窗口控件創(chuàng)建后,在其屬性窗口里,指定“DataObject”,即數(shù)據(jù)窗口對象(也可以在程序里指定)。數(shù)據(jù)窗口控件命名時的默認(rèn)前綴為“dw_”。7.1.3數(shù)據(jù)庫操作編程(1)DBMS:數(shù)據(jù)庫管理系統(tǒng)名稱,如Sybase、Oracle或ODBC,通常使用ODBC,其他的需要專用的驅(qū)動程序。(2)Dbparm:數(shù)據(jù)庫連接參數(shù),具體格式見下面程序。(3)SQLCode:數(shù)據(jù)庫操作的返回碼,其中,0

——成功;-1——失?。?00

——沒有檢索到數(shù)據(jù)。7.1.3數(shù)據(jù)庫操作編程1.連接數(shù)據(jù)庫下面這段代碼一般放在應(yīng)用對象“ApplicationObject”或窗口的“Open”事件中,用于直接連接數(shù)據(jù)庫。SQLCA.DBMS="ODBC"SQLCA.dbparm="Connectstring='DSN=XSCJ;UID=dba;PWD=sql'"http://這里的XSCJ為ODBC數(shù)據(jù)源名。Connect; //注意這里有一個分號IFSQLCA.SQLCode<>0THENMessageBox("連接失敗","不能連接數(shù)據(jù)庫")RETURNENDIF7.1.3數(shù)據(jù)庫操作編程2.?dāng)?shù)據(jù)窗口控件分配事務(wù)處理對象為每個數(shù)據(jù)窗口控件分配事務(wù)處理對象,格式為SetTransObject(SQLCA),例如:dw_class.SetTransObject(SQLCA)dw_stu.SetTransObject(SQLCA)這段代碼一般放在窗口的“Open”事件中,但每當(dāng)改變數(shù)據(jù)窗口控件中的數(shù)據(jù)窗口對象時,都必須重新執(zhí)行該語句。3.?dāng)?shù)據(jù)窗口控件函數(shù)(1)Retrieve():檢索數(shù)據(jù),即將數(shù)據(jù)庫表中的數(shù)據(jù)在數(shù)據(jù)窗口控件中顯示出來,返回值為long型,表示檢索到數(shù)據(jù)記錄數(shù)。(2)update():更新表數(shù)據(jù),即將數(shù)據(jù)窗口控件中的數(shù)據(jù)保存到數(shù)據(jù)庫中去。(3)InsertRow(r):在第r行插入一個空行,r

=

0表示在末尾插入。返回空行行號。(4)DeleteRow(r):刪除第r行。7.1.4連接數(shù)據(jù)庫編程實(shí)例在參照第3章3.9.2節(jié)的基礎(chǔ)之上,重新建立一個用戶口令登錄窗口,外觀如圖7.8所示,在輸入用戶名和密碼之后,登錄第6章中已經(jīng)創(chuàng)建的ASA數(shù)據(jù)庫“XSCJ”。7.1.4連接數(shù)據(jù)庫編程實(shí)例1.建立一個新的工作空間和“應(yīng)用”(chptsix)(1)創(chuàng)建新的工作空間。單擊“New”圖標(biāo)按鈕,打開“New”對話框;選擇“Workspace”頁,單擊“OK”按鈕,彈出“NewWorkspace”對話框,選擇存儲目錄為“F:\workspace”,輸入工作空間名為“chptsix”。(2)創(chuàng)建新的應(yīng)用。單擊“New”圖標(biāo)按鈕,打開“New”對話框;選擇“Target”頁中的“Application”,單擊“OK”按鈕,彈出“SpecifyNewApplicationandLibrary”對話框,選擇到新建的目錄“F:\workspace”,輸入應(yīng)用名為“datawindows”,單擊“Finish”按鈕,系統(tǒng)自動用上面輸入的應(yīng)用名稱加上擴(kuò)展名“.pbl”和“.pbt”,組成庫名“datawindows.pbl”以及目標(biāo)文件名“datawindows.pbt”。7.1.4連接數(shù)據(jù)庫編程實(shí)例2.創(chuàng)建登錄窗口對象(1)單擊“New”圖標(biāo)按鈕,打開“New”對話框;選擇“PBObject”頁,雙擊“Window”圖標(biāo),創(chuàng)建一個新窗口對象并進(jìn)入窗口畫板。(2)在窗口的屬性(Properties)卡的“General”頁中,在“Title”欄中輸入窗口標(biāo)題“歡迎進(jìn)入學(xué)生成績管理系統(tǒng)”,窗口類型為響應(yīng)式窗口“response!”,用鼠標(biāo)拖曳窗口區(qū)域至合適的大小。其他窗口屬性使用系統(tǒng)默認(rèn)值。最后,保存窗口對象,取名為“w_load”。

(3)在窗口“w_load”上添加相應(yīng)的控件。在窗口上放置三個靜態(tài)文本,分別為“標(biāo)題”(st_1)、“用戶名”(st_2)和“口令”(st_3)。7.1.4連接數(shù)據(jù)庫編程實(shí)例3.創(chuàng)建主窗口對象設(shè)置窗口對象的“General”屬性頁中“Title”為“學(xué)生成績管理系統(tǒng)控制窗口”,選擇窗口類型為main!,在窗口中加入一個靜態(tài)文本:“此窗口正在建設(shè)中...”,再放置一個按鈕“退出”,其“Click”事件的腳本如下:Close(PARENT)保存窗口名為“w_main”。7.1.4連接數(shù)據(jù)庫編程實(shí)例4.新建連接數(shù)據(jù)庫的窗口函數(shù)在“w_load”窗口中新建一個用于連接數(shù)據(jù)庫的窗口函數(shù)“wf_connect”,如圖6.9所示,函數(shù)腳本如下:Stringls_userid,ls_password,ls_database //定義形參//將實(shí)參的值賦給形參ls_userid=trim(userid)ls_password=trim(password)IFls_password=""THEN //輸入密碼非空 RETURN-1ENDIFSQLCA.DBMS="ODBC"SQLCA.AutoCommit=FALSE ls_database="ConnectString='DSN=XSCJ;"SQLCA.dbparm=ls_database+"UID="+ls_userid+";PWD="+ls_password+"'"CONNECTUSINGSQLCA; //與數(shù)據(jù)庫連接RETURNsqlca.SQLCode7.1.4連接數(shù)據(jù)庫編程實(shí)例圖7.9“wf_connect”窗口函數(shù)7.1.4連接數(shù)據(jù)庫編程實(shí)例(1)“確定”按鈕的腳本如下:SetPointer(hourglass!)IFPARENT.wf_connect(sle_userid.text,sle_password.text)=-1THEN MessageBox("連接數(shù)據(jù)庫錯誤!","連接失敗"+sqlca.sqlerrtext) HALTELSE Close(PARENT) Open(w_main)ENDIF(2)“取消”按鈕的腳本如下:HALT或Close(PARENT)(3)在系統(tǒng)樹狀窗口“systemtree”中,雙擊“應(yīng)用”(datawindows),在“Open”事件中編寫腳本如下:Open(w_load)7.1.4連接數(shù)據(jù)庫編程實(shí)例5.保存并運(yùn)行程序保存腳本編輯環(huán)境之后,首先單擊工具欄中的

圖標(biāo)啟動數(shù)據(jù)庫,然后使用“運(yùn)行/預(yù)覽”執(zhí)行窗口對象“w_load”。在出現(xiàn)的登錄界面中輸入用戶名:“dba”,登錄密碼:“sql”。單擊“確定”按鈕,則出現(xiàn)如圖7.10所示界面,單擊“退出”按鈕,退出當(dāng)前窗口。7.2數(shù)據(jù)源7.2.1快速選擇數(shù)據(jù)源定義快速選擇數(shù)據(jù)源的基本步驟在7.1.1節(jié)建立數(shù)據(jù)窗口對象的步驟4中已經(jīng)介紹。需要進(jìn)一步說明的是,在QuickSelect數(shù)據(jù)源對話框底部的描述框中顯示的就是當(dāng)前設(shè)計的數(shù)據(jù)窗口,如圖7.11所示。7.2.2SQL選擇數(shù)據(jù)源1.定義SQLSelect數(shù)據(jù)源的步驟(1)在建立數(shù)據(jù)窗口對象的步驟3的數(shù)據(jù)源對話框中,選擇“SQLSelect”數(shù)據(jù)源后,單擊“Next”按鈕,系統(tǒng)顯示如圖7.12所示的“SelectTables”對話框。7.2.2SQL選擇數(shù)據(jù)源(2)“SelectTables”對話框通過單擊選擇數(shù)據(jù)窗口中要使用的一個或多個表,選擇之后單擊“OK”按鈕,進(jìn)入SQL畫筆工作區(qū)。(3)SQL畫筆工作區(qū)以圖形方式顯示所選表,當(dāng)打開了多個表且表之間存在外部鍵時,SQL畫筆自動建立外部鍵之間的連接,如圖7.13所示。7.2.2SQL選擇數(shù)據(jù)源(4)在列出的表中選擇所需要的列,選定的列被加亮,同時也出現(xiàn)在“SelectionList”后面,其次序就是各列出現(xiàn)在Select語句中的次序,通過拖曳操作能夠改變這一排列次序,如圖7.14所示。7.2.2SQL選擇數(shù)據(jù)源(5)完成列的選擇并指定各種條件后,單擊畫筆工具欄上的“SQL”圖標(biāo),系統(tǒng)進(jìn)入數(shù)據(jù)窗口畫筆工作區(qū)。定義檢索條件在SQL畫筆工作區(qū)下方“Where”標(biāo)簽頁中。(6)在SQL畫筆工作區(qū)的下部有一組標(biāo)簽,如圖7.15所示,這是該畫筆的檢索條件定義區(qū),用于定義Select語句的各種子句(后文介紹定義方法)。7.2.2SQL選擇數(shù)據(jù)源2.定義SQLSelect數(shù)據(jù)源的檢索條件(1)單擊“Column”下的第一個空白行,“Column”右邊出現(xiàn)黑色小三角,單擊小三角,系統(tǒng)顯示一個列名下拉列表框。也可以直接在“Column”行的右側(cè)單擊,直接展開顯示列名的下拉列表框,從下拉列表框中選擇一個列名,如圖7.16所示。7.2.2SQL選擇數(shù)據(jù)源(2)單擊“Operator”下的第一行,系統(tǒng)顯示一個運(yùn)算符下拉列表框,從中選擇所需的運(yùn)算符,如圖7.17所示。7.2.2SQL選擇數(shù)據(jù)源(3)單擊“Value”下的第一行,輸入一個表達(dá)式,表達(dá)式由列名、數(shù)據(jù)庫管理系統(tǒng)支持的函數(shù)、開發(fā)人員定義的檢索參數(shù)、常量數(shù)值或子查詢組成。更常用的方法是在“Value”行內(nèi)右擊,系統(tǒng)顯示如圖7.18所示的彈出選單。(4)需要多個條件時,單擊“Logical”下的第一行,根據(jù)需要選擇“AND/OR”邏輯運(yùn)算符后,在下一行繼續(xù)重復(fù)上面介紹的步驟。例如,可以定義查詢條件:("XS"."專業(yè)名"="計算機(jī)")AND("XS"."總學(xué)分">"50")7.2.2SQL選擇數(shù)據(jù)源3.定義檢索參數(shù)(1)從“Design”選單中選擇“RetrievalArguments…”選項,系統(tǒng)彈出如圖7.19所示的“SpecifyRetrievalArguments”對話框。7.2.2SQL選擇數(shù)據(jù)源(2)在“Name”列輸入?yún)?shù)名稱。(3)在“Type”列選擇參數(shù)類型,如String。(4)需要添加多個參數(shù)時,單擊“Add”按鈕,然后輸入?yún)?shù)名稱并指定參數(shù)類型。(5)需要在當(dāng)前參數(shù)前插入一個參數(shù)時,單擊“Insert”按鈕,然后輸入?yún)?shù)名稱并指定參數(shù)類型。(6)需要刪除某個參數(shù)時,通過單擊該參數(shù)的名稱選擇該參數(shù)后單擊“Delete”按鈕。(7)單擊“OK”按鈕關(guān)閉對話框。定義了檢索參數(shù)后,就可以使用檢索參數(shù)構(gòu)造“Value”列上的表達(dá)式了。7.2.2SQL選擇數(shù)據(jù)源在“Syntax”頁可以看到經(jīng)過上述定義后的SQL語句:SELECT"xs"."姓名","xs_cj"."學(xué)號","xs"."專業(yè)名","xs_cj"."課程號","xs_cj"."成績","xs"."備注" FROM"xs","xs_cj" WHERE("xs_cj"."學(xué)號"="xs"."學(xué)號")and(("xs"."專業(yè)名"='計算機(jī)')AND("xs"."總學(xué)分">50)AND("xs"."姓名"=:ParaName))7.2.2SQL選擇數(shù)據(jù)源4.指定排序方式(1)單擊SQL選項卡中的“Sort”標(biāo)簽,系統(tǒng)顯示如圖7.20所示的選項頁。(2)將希望按其排序的列用鼠標(biāo)從左邊的列表框中拖曳到右邊的列表框中,將按該列升序排序。如果想按該列降序排序,則通過單擊使“Ascending”復(fù)選框成為未選中狀態(tài)。(3)選擇其他要排序的列。例如,指定按“XS”表學(xué)號列進(jìn)行升序排序,它對應(yīng)于Select語句中的子句:ORDERBY"XS"."學(xué)號"ASC7.2.2SQL選擇數(shù)據(jù)源5.定義計算列(1)單擊SQL工具欄中的“Compute”標(biāo)簽,系統(tǒng)顯示“Compute”選項頁。(2)在第一行中輸入組成計算列的表達(dá)式。構(gòu)造表達(dá)式時,也可以使用工具,方法是,在該行右擊,系統(tǒng)顯示如圖7.21所示的彈出選單。(3)若需要多個計算列時,則通過單擊將插入點(diǎn)移動到下一行,按上述方法構(gòu)造組成計算列的表達(dá)式。7.2.2SQL選擇數(shù)據(jù)源6.定義分組

(1)單擊SQL工具欄中的“Group”標(biāo)簽,系統(tǒng)顯示如圖7.22所示的選項頁。(2)選擇分組所依據(jù)的第一列,用鼠標(biāo)將它拖曳到右邊的列表框中。(3)如有必要,可選擇分組所依據(jù)的其他列。7.2.2SQL選擇數(shù)據(jù)源7.定義Having子句(1)單擊SQL工具欄中的“Having”標(biāo)簽,系統(tǒng)顯示如圖7.23所示的選項頁。(2)定義“Having”子句的條件表達(dá)式,方法與定義“Where”條件相同。7.2.2SQL選擇數(shù)據(jù)源8.顯示當(dāng)前定義條件下的SELECT語句在定義SQLSelect數(shù)據(jù)源的過程中,隨時都可以查看當(dāng)前定義條件下的SELECT語句,方法是,單擊SQL工具欄中的“Syntax”標(biāo)簽,相應(yīng)的SELECT語句顯示在該標(biāo)簽頁中。9.直接輸入SELECT語句(1)從數(shù)據(jù)源畫板上的“Design”選單中選擇“ConverttoSyntax”選單項,系統(tǒng)打開一個文本編輯窗口,如圖7.24所示。(2)輸入或編輯SELECT語句。(3)編寫完SELECT語句后,單擊選單項“Design|ConverttoGraphics”,就返回到圖形方式,或單擊“DataSource”圖標(biāo)進(jìn)入數(shù)據(jù)窗口畫板。7.2.3查詢數(shù)據(jù)源1.創(chuàng)建Query對象用“Query”畫筆創(chuàng)建“Query”對象,步驟如下。(1)單擊工具欄上的“New”圖標(biāo)按鈕,打開“New”對話框,選擇“Database”頁,如圖7.25所示。7.2.3查詢數(shù)據(jù)源(2)雙擊“Query”圖標(biāo),進(jìn)入Query畫板,彈出圖7.26的“SelectTables”對話框。(3)選擇要使用的表后單擊“Open”按鈕,進(jìn)入Query畫板工作區(qū)。(4)定義所需的SELECT語句,與定義SQLSelect數(shù)據(jù)源的方法相似。(5)單擊工具欄上的“Close”圖標(biāo),彈出詢問是否需要保存的對話框,保存“Query”對象后關(guān)閉Query畫板。7.2.3查詢數(shù)據(jù)源2.定義Query數(shù)據(jù)源(1)單擊工具欄上的“New”圖標(biāo)按鈕,選擇“DataWindow”頁,選擇數(shù)據(jù)窗口風(fēng)格后,單擊“OK”按鈕進(jìn)入選擇數(shù)據(jù)源對話框。(2)在選擇數(shù)據(jù)源對話框中,選擇“Query”數(shù)據(jù)源后,單擊“OK”按鈕,系統(tǒng)顯示如圖7.27所示的“SelectQuery”對話框。(3)單擊“SpecifyQuery”欄右邊的“…”按鈕,選擇所需的“Query”對象。(4)單擊“Next”按鈕進(jìn)入邊框設(shè)置對話框及屬性小結(jié)對話框,按“確定”按鈕后進(jìn)入數(shù)據(jù)窗口畫板工作區(qū)。7.2.4外部數(shù)據(jù)源(1)單擊工具欄上的“New”圖標(biāo)按鈕,選擇“DataWindow”頁,選擇數(shù)據(jù)窗口風(fēng)格后,單擊“Next”按鈕進(jìn)入選擇數(shù)據(jù)源對話框。(2)選擇“External”數(shù)據(jù)源后,單擊“Next”按鈕,系統(tǒng)顯示如圖7.28所示的“DefineResultSet”對話框。(3)指定數(shù)據(jù)窗口中所需的列以及相應(yīng)的類型和長度。(4)使用按鈕“Add”、“Insert”、“Delete”分別增加、插入、刪除數(shù)據(jù)列。(5)單擊“Next”按鈕進(jìn)入邊框設(shè)置對話框以及屬性小結(jié)對話框,確定后進(jìn)入數(shù)據(jù)窗口畫板工作區(qū)。7.2.5存儲過程數(shù)據(jù)源定義StoredProcedure數(shù)據(jù)源的步驟如下。(1)單擊工具欄“New”圖標(biāo)按鈕,選擇“DataWindow”頁,選擇數(shù)據(jù)窗口風(fēng)格后,單擊“Next”按鈕進(jìn)入選擇數(shù)據(jù)源對話框。(2)在選擇數(shù)據(jù)源對話框中,選擇“StoredProcedure”數(shù)據(jù)源后,單擊“Next”按鈕,系統(tǒng)顯示如圖7.29所示的“SelectStoredProcedure”對話框。7.2.5存儲過程數(shù)據(jù)源(3)在列表框中選擇所需的存儲過程。如果要在列表框中顯示系統(tǒng)存儲過程,則選中復(fù)選框“SystemProcedure”。(4)如果要使PowerBuilder自動生成結(jié)果集,則取消選擇復(fù)選框“ManualResultSet”,然后單擊“Next”按鈕進(jìn)入邊框設(shè)置對話框及屬性小結(jié)對話框,確定后進(jìn)入數(shù)據(jù)窗口畫板工作區(qū)。(5)如果要自己定義結(jié)果集,則選中復(fù)選框“ManualResultSet”,然后單擊“Next”按鈕,系統(tǒng)顯示如圖7.30所示的“DefineStoredProcedureResultSet”對話框。(6)定義列及其類型、寬度。定義完所有列后,單擊“Next”按鈕進(jìn)入邊框設(shè)置對話框及屬性小結(jié)對話框,確定后進(jìn)入數(shù)據(jù)窗口畫板工作區(qū)。7.3數(shù)據(jù)窗口的顯示風(fēng)格7.3.1顯示風(fēng)格的種類和特點(diǎn)PowerBuilder的數(shù)據(jù)窗口提供了11種顯示風(fēng)格,包括列表(Tabular)、表格(Grid)、自由格式(Freeform)、標(biāo)簽(Label)、分欄(N-Up)、分組(Group)、交叉列表(Crosstab)、統(tǒng)計圖(Graph)、OLE、RichText、復(fù)合(Composite)風(fēng)格。每種風(fēng)格都有其獨(dú)特的外觀,通過設(shè)置數(shù)據(jù)窗口對象及其所包含的其他對象屬性,還能構(gòu)造出風(fēng)格更多的顯示界面。數(shù)據(jù)窗口對象各顯示風(fēng)格、特點(diǎn)及用途歸納列入表7.1中。7.3.2各種風(fēng)格的數(shù)據(jù)窗口的創(chuàng)建1.Graph格式選擇了圖形風(fēng)格后會彈出定義各坐標(biāo)軸內(nèi)容的對話框,如圖7.31所示。單擊“Next”按鈕,彈出如圖7.32所示的對話框,輸入標(biāo)題并選擇圖形類型。

7.3.2各種風(fēng)格的數(shù)據(jù)窗口的創(chuàng)建2.Label格式在數(shù)據(jù)窗口對象創(chuàng)建向?qū)е羞x擇了Label格式后,會彈出選擇預(yù)定義標(biāo)簽對話框,如圖7.33所示。7.3.2各種風(fēng)格的數(shù)據(jù)窗口的創(chuàng)建PowerBuilder在下拉列表框中提供了很多種尺寸。選擇并彈出標(biāo)簽設(shè)置對話框,如圖7.34所示。對標(biāo)簽的大小、布局及排列方式進(jìn)一步設(shè)計。7.3.2各種風(fēng)格的數(shù)據(jù)窗口的創(chuàng)建彈出標(biāo)簽頁屬性設(shè)置對話框,用于設(shè)置頁邊距,以及決定標(biāo)簽紙是連續(xù)頁還是單頁,如圖7.35所示。7.3.2各種風(fēng)格的數(shù)據(jù)窗口的創(chuàng)建3.Group格式Group格式分組顯示數(shù)據(jù),使數(shù)據(jù)條理清晰。選擇了Group格式后,會彈出分組定義對話框,將決定分組條件的字段從左邊“SourceData”窗口中拖曳到右邊“Columns”窗口中,如圖7.36所示。7.3.2各種風(fēng)格的數(shù)據(jù)窗口的創(chuàng)建單擊“Next”按鈕,彈出分組頁屬性設(shè)置對話框,如圖7.37所示。7.3.2各種風(fēng)格的數(shù)據(jù)窗口的創(chuàng)建4.Crosstab格式交叉列表(Crosstab)實(shí)際上就是常用的二維數(shù)據(jù)表,表7.2反映的是每季度三種商品銷售量的基本情況表。還可以加上對每行、每列以及全部數(shù)據(jù)的統(tǒng)計分析,PowerBuilder的交叉列表可以很方便地實(shí)現(xiàn)這些功能。一季度二季度三季度四季度電視機(jī)112123154167影碟機(jī)278298313325錄音機(jī)5924974113677.3.2各種風(fēng)格的數(shù)據(jù)窗口的創(chuàng)建如果需要其他計算結(jié)果,可以雙擊列、行或值,彈出修改計算表達(dá)式對話框,如圖7.38所示,可以利用PowerBuilder提供的函數(shù)(functions)、邏輯運(yùn)算符修改計算表達(dá)式,或者選擇其他字段。7.3.2各種風(fēng)格的數(shù)據(jù)窗口的創(chuàng)建5.N_Up格式N_Up格式以多列的形式顯示數(shù)據(jù)。選擇了N_Up格式后,需要指定顯示的列數(shù),在創(chuàng)建向?qū)е袝棾龇謾跀?shù)目輸入對話框,如圖7.39所示。輸入分欄數(shù)即可。7.3.2各種風(fēng)格的數(shù)據(jù)窗口的創(chuàng)建6.Composite格式Composite格式組合已經(jīng)有的數(shù)據(jù)窗口對象,因此,在創(chuàng)建向?qū)е袝棾鲞x擇數(shù)據(jù)窗口對象對話框,如圖7.40所示。(1)不需要創(chuàng)建新的數(shù)據(jù)源。(2)選擇的數(shù)據(jù)窗口對象在組合樣式中不能被修改。7.3.2各種風(fēng)格的數(shù)據(jù)窗口的創(chuàng)建7.RichText格式選擇了RichText格式后,會彈出設(shè)置“RichText”屬性設(shè)置“SpecifyRichTextSettings”對話框,如圖7.41所示。7.3.2各種風(fēng)格的數(shù)據(jù)窗口的創(chuàng)建單擊“Next”按鈕彈出“ReadytoCreateRichTextDataWindow”對話框,在列表框中小結(jié)了新建“RichText”數(shù)據(jù)窗口的特性。單擊“Finish”按鈕,進(jìn)入數(shù)據(jù)窗口畫板,可以進(jìn)一步對“RichText”數(shù)據(jù)窗口的屬性詳細(xì)地進(jìn)行修改和設(shè)置。在數(shù)據(jù)窗口畫板中,單擊鼠標(biāo)右鍵,選擇“Properties…”,會彈出“RichTextObject”對話框,如圖7.42所示,可以對“RichText”對象的屬性進(jìn)行修改和設(shè)置。7.3.2各種風(fēng)格的數(shù)據(jù)窗口的創(chuàng)建選擇了OLE2.0格式后,會彈出“ChooseDataSourceforOLEDataWindow”對話框,如圖7.43所示,進(jìn)行數(shù)據(jù)源的設(shè)置。7.3.2各種風(fēng)格的數(shù)據(jù)窗口的創(chuàng)建設(shè)置完數(shù)據(jù)源后,彈出如圖7.44的“SpecifyOLEdata”對話框,確定用戶在OLE數(shù)據(jù)窗口對象中使用的目標(biāo)字段和用以分組的字段,從左邊的“SourceData”列表框中將有關(guān)字段拖動到目標(biāo)數(shù)據(jù)框“TargetData”中;如果需要指定分組,則將分組字段拖動到分組數(shù)據(jù)框“Groupby”中。7.3.2各種風(fēng)格的數(shù)據(jù)窗口的創(chuàng)建單擊“Next”按鈕彈出“ReadytoCreateOLE2DataWindow”信息對話框。單擊“Finish”按鈕,彈出如圖7.45所示“InsertObject”對話框,其有三個選項頁,分別用來指定不同類型的OLE對象。7.4數(shù)據(jù)窗口畫板7.4.1數(shù)據(jù)窗口畫板的組成數(shù)據(jù)窗口畫板的外觀如圖7.46所示,每個人實(shí)際見到的數(shù)據(jù)窗口畫板與此并不一定相同,因?yàn)楦鱾€子窗口可以選擇打開和關(guān)閉,位置也可以調(diào)整。7.4.1數(shù)據(jù)窗口畫板的組成數(shù)據(jù)窗口畫板有六個子窗口,各個子窗口的名稱和用途見表7.3。子窗口的名稱子窗口的用途Design子窗口用于調(diào)整和設(shè)計數(shù)據(jù)窗口的布局,并通過控件屬性的調(diào)整來設(shè)置數(shù)據(jù)窗口外觀Preview子窗口用于觀察數(shù)據(jù)窗口在運(yùn)行時的顯示效果Properties子窗口用于設(shè)置數(shù)據(jù)窗口對象或數(shù)據(jù)窗口對象中被選中的控件的屬性ControlList子窗口顯示數(shù)據(jù)窗口對象上的所有控件對象的列表,選中列表中的某個控件對象,可以在Design子窗口中定位到該控件對象Data子窗口顯示數(shù)據(jù)窗口對象中檢索到的數(shù)據(jù),可以通過拖動字段標(biāo)題調(diào)整字段順序ColumnSpecifications子窗口顯示在數(shù)據(jù)源中選擇的字段的列表,可以添加、修改或刪除字段的初始值,也可以指定字段的檢驗(yàn)規(guī)則及檢驗(yàn)提示信息,還可以通過拖曳字段來添加在數(shù)據(jù)源中定義的字段7.4.1數(shù)據(jù)窗口畫板的組成1.Design子窗口Design子窗口內(nèi)有六個區(qū)域,各個區(qū)域的名稱和用途見表7.4。區(qū)

域位

置用

途頁眉區(qū)在Header帶的上面,一般在Design子窗口的最上部顯示字段標(biāo)簽或報表標(biāo)題,也可以添加修飾性對象,如文本對象、位圖對象等組標(biāo)題區(qū)在Header帶和HeaderGroup帶之間,只有Group樣式或創(chuàng)建了組之后才會出現(xiàn)組標(biāo)題區(qū)主要用于分組報表,使報表的條理清晰,如在報表中添加組標(biāo)識符,創(chuàng)建計算列,顯示分組的匯總信息等細(xì)節(jié)區(qū)在Header帶和Detail帶之間用于顯示檢索數(shù)據(jù)的結(jié)果集,可以對字段的位置、尺寸進(jìn)行調(diào)整組結(jié)尾區(qū)在Detail帶和TrailerGroup帶之間,與組標(biāo)題區(qū)對應(yīng)用于顯示一個分組結(jié)束時關(guān)于該分組的統(tǒng)計計算和匯總信息匯總區(qū)在TrailerGroup帶或Detail帶和Summary帶之間,出現(xiàn)在所有檢索出的數(shù)據(jù)的最后用于顯示所有數(shù)據(jù)的匯總信息,如計算顯示記錄的總數(shù),滿足一定條件的某字段的匯總值或顯示備注信息頁腳區(qū)在Summary帶和Footer帶之間,一般在Design子窗口的最下部用于顯示頁碼、總頁數(shù)或腳注等信息7.4.1數(shù)據(jù)窗口畫板的組成2.Properties子窗口這里重點(diǎn)介紹“General”等主要的三個選項頁。數(shù)據(jù)窗口對象的“General”選項頁如圖7.47所示,用于指定數(shù)據(jù)窗口對象使用的計量單位,內(nèi)部定時器的時間間隔,背景顏色和是否生成HTML窗體。7.4.1數(shù)據(jù)窗口畫板的組成其中,數(shù)據(jù)窗口對象使用的計量單位有四種選擇,見表7.5。Units屬性計

位PowerBuilder(0)PowerBuilder的單位PBUPixels(1)像素單位1/1000Inch(2)千分之一英寸1/1000Centimeter(3)千分之一厘米7.4.1數(shù)據(jù)窗口畫板的組成數(shù)據(jù)窗口對象的“Pointer”選項頁如圖7.48所示,該頁用于指定光標(biāo)在數(shù)據(jù)窗口內(nèi)時的圖形,單擊“Pointer”下拉列表框右邊的▼按鈕,可以選擇系統(tǒng)提供的光標(biāo)圖形,也可以單擊旁邊的“…”按鈕,選擇其他光標(biāo)圖形。7.4.1數(shù)據(jù)窗口畫板的組成數(shù)據(jù)窗口對象的“PrintSpecifications”選項頁如圖7.49所示,該頁用于設(shè)置數(shù)據(jù)窗口對象的打印參數(shù),各參數(shù)的含義見表7.6。7.4.1數(shù)據(jù)窗口畫板的組成打印參數(shù)含

義DocumentName打印數(shù)據(jù)窗口對象時在打印隊列中顯示的文檔名稱LeftMargin,RightMargin,TopMargin,BottomMargin分別為打印時在左邊、右邊、上邊和下邊留出的空隙長度PaperOrientation選擇打印方向PaperSize指定打印紙的大小PaperSource指定打印時的送紙方式PromptBeforePrinting在打印輸出前是否顯示打印設(shè)置對話框DisplayButtons-PrintPreview在預(yù)覽時顯示數(shù)據(jù)窗口對象上的按鈕對象DisplayButtons-Print打印數(shù)據(jù)窗口對象上的按鈕對象NewspaperColumnsAcross指定每頁打印的列數(shù)NewspaperColumnsWidth指定每列的寬度表7.6數(shù)據(jù)窗口對象的打印參數(shù)及含義7.4.2定制數(shù)據(jù)窗口畫板數(shù)據(jù)窗口畫板的顯示屬性可以由用戶設(shè)置,方法是選擇選單“Design|Options”,打開“DataWindowOptions”對話框,如圖7.50所示,圖中標(biāo)出了“General”選項頁的設(shè)置參數(shù);“Generation”頁可以選擇數(shù)據(jù)窗口對象的顯示風(fēng)格(PresentationStyle)和為其設(shè)置文本、字段及背景等部分的顏色和邊框,如圖7.51所示。

7.5設(shè)計數(shù)據(jù)窗口對象7.5.1數(shù)據(jù)窗口對象中字段標(biāo)簽的屬性數(shù)據(jù)窗口對象中字段標(biāo)簽的屬性有五個選項頁,各頁的用途見表7.7。選項頁名稱用

途General指定字段標(biāo)簽的名稱、文本、邊框類型、對齊方式以及可視性等Pointer設(shè)置光標(biāo)落在此標(biāo)簽內(nèi)時的形狀HTML設(shè)置HTML的鏈接Position設(shè)置字段標(biāo)簽的位置、大小等屬性Font字體的類型、尺寸、修飾、顏色、背景顏色、使用的字符集等Other用于設(shè)置列對象的其他屬性7.5.2數(shù)據(jù)窗口對象中字段的屬性數(shù)據(jù)窗口對象中字段的屬性有八個選項頁,各頁的用途見表7.8。選項頁名稱用

途General指定字段的名稱、邊框類型、對齊方式以及可視性等Pointer指定光標(biāo)落在此字段內(nèi)時的形狀HTML設(shè)置HTML的鏈接Position設(shè)置字段標(biāo)簽的位置、大小等屬性Edit設(shè)置字段的編輯和顯示風(fēng)格Format設(shè)置顯示的格式Font指定字體的類型、尺寸、修飾、顏色、背景顏色、使用的字符集等Other用于設(shè)置列對象的其他屬性7.5.2數(shù)據(jù)窗口對象中字段的屬性圖7.52所示的為“General”選項頁,通常要在該頁中選擇字段邊框的類型,將默認(rèn)的“NoBorder”(無邊框)改為其他任意有邊框的類型。圖7.53為“Format”選項頁,在“Format”欄中,默認(rèn)的選項為“[general]”,這時PowerBuilder將根據(jù)所選擇的字段類型,使用通用、合適的數(shù)據(jù)表達(dá)格式。

7.5.2數(shù)據(jù)窗口對象中字段的屬性圖7.54所示為“Edit”選項頁,該頁中的核心內(nèi)容是“StyleType”(編輯樣式),PowerBuilder提供了六種編輯樣式,分別為“Edit”、“CheckBox”、“DropDownDW”、“DropDownListBox”、“EditMask”和“RadioButtons”。在“StyleType”下拉列表框中選擇不同的編輯樣式,有不同形式的“Edit”頁,默認(rèn)的編輯樣式為“Edit”。7.5.2數(shù)據(jù)窗口對象中字段的屬性表7.9為“Edit”編輯樣式的主要屬性。屬

性說

明StyleName下拉列表框選擇用戶在數(shù)據(jù)庫畫板中定義的編輯樣式StyleType下拉列表框選擇編輯樣式類型Format在腳本中得到的數(shù)據(jù)格式,定義方法同“Format”選項頁中介紹的方法Case下拉列表框指定輸入的字符串字母的大小寫Limit限制用戶輸入的字符個數(shù),0為不限制Accelerator指定加速鍵AutoSelection是否具有熱點(diǎn)選擇的功能Password使輸入的字符串以“*”號顯示,用于口令的輸入DisplayOnly指定字段為只讀EmptyStringisNull指定空字符串是否為NullRequired要求用戶輸入合法的值后才能移出當(dāng)前字段AutoHorzScroll,AutoVertScroll自動水平滾動,自動垂直滾動HorzontalScrollBar,VertontalScrollBar使用水平滾動條,使用垂直滾動條UseCodeTable使用代碼表,選中后在下面會出現(xiàn)等待定義的代碼表Validate強(qiáng)制要求用戶輸入與代碼表中對應(yīng)的數(shù)據(jù),該復(fù)選框在選中“UseCodeTable”后出現(xiàn)7.5.2數(shù)據(jù)窗口對象中字段的屬性當(dāng)選中“CheckBox”編輯樣式時的“Edit”選項頁如圖7.55所示,“CheckBox”編輯樣式適合于簡單的兩值選擇數(shù)據(jù),如“婚否”字段,它的主要屬性見表7.10。7.5.2數(shù)據(jù)窗口對象中字段的屬性屬

性說

明3DLook使用三維外觀3States支持三態(tài),選中后在標(biāo)簽頁底部出現(xiàn)OtherState欄,用于定義第三種狀態(tài)LeftText指定文本標(biāo)簽顯示在復(fù)選框的左邊Scale自動調(diào)整復(fù)選框的大小,使其與文本標(biāo)簽的大小相稱Text顯示在復(fù)選框旁邊的說明文本DataValueforOn當(dāng)復(fù)選框被選中時,數(shù)據(jù)庫中該字段的數(shù)據(jù)值DataValueforOff當(dāng)復(fù)選框未被選中時,數(shù)據(jù)庫中該字段的數(shù)據(jù)值OtherState當(dāng)復(fù)選框?yàn)榈谌N狀態(tài)時,數(shù)據(jù)庫中該字段的數(shù)據(jù)值表7.10“CheckBox”編輯樣式的主要屬性7.5.2數(shù)據(jù)窗口對象中字段的屬性選中“DropDownDW”編輯樣式時的“Edit”選項頁如圖7.56所示,在此樣式中的字段以下拉列表框的方式顯示,表7.11為它的主要屬性。7.5.2數(shù)據(jù)窗口對象中字段的屬性屬

性說

明AllowEditing允許用戶編輯下拉列表框的編輯框EmptyStringisNull指定空字符串是否為NullRequired要求用戶輸入合法的值后才能移出當(dāng)前字段AlwaysShowList一直顯示列表框中的列表項AlwaysShowArrow一直顯示下拉箭頭HScrollBar,

VScrollBar使用水平滾動條,使用垂直滾動條LinesinDropDown在下拉列表框中顯示的項數(shù)WidthinDropDown(%)指定列表框的寬度,以百分?jǐn)?shù)表示DataWindow選擇數(shù)據(jù)窗口對象,單擊右邊的“…”按鈕彈出選擇對話框DisplayColumn下拉列表框選擇選中的數(shù)據(jù)窗口對象中的字段作為顯示的內(nèi)容DataColumn下拉列表框選擇選中的數(shù)據(jù)窗口對象中與當(dāng)前數(shù)據(jù)窗口對象相匹配的字段表7.11“DropDownDW”編輯樣式的主要屬性7.5.2數(shù)據(jù)窗口對象中字段的屬性選中“DropDownListBox”編輯樣式時的“Edit”選項頁如圖7.57所示,它與上面介紹的“DropDownDW”樣式十分相似,都是以下拉列表框的方式顯示,區(qū)別是“DropDownListBox”通過屬性中的代碼表添加下拉列表框的數(shù)據(jù),而“DropDownListDW”則是通過數(shù)據(jù)庫讀取的。因此,“DropDownListBox”適合于下拉列表框的數(shù)據(jù)量不大且相對固定的場合。“DropDownListBox”編輯樣式選項頁的底部有代碼表。7.5.2數(shù)據(jù)窗口對象中字段的屬性選中“EditMask”編輯樣式時的“Edit”選項頁如圖7.58所示,它用于以一定的格式強(qiáng)制顯示數(shù)據(jù)和輸入數(shù)據(jù),減輕用戶的數(shù)據(jù)錄入負(fù)擔(dān)。7.5.2數(shù)據(jù)窗口對象中字段的屬性選中“RadioButtons”編輯樣式時的“Edit”選項頁如圖7.59所示,它用于選擇項不多且固定的字段,達(dá)到既直觀,又減輕用戶數(shù)據(jù)錄入負(fù)擔(dān)的效果。7.5.3“Tab”鍵的跳轉(zhuǎn)次序數(shù)據(jù)窗口中字段的“Tab”鍵順序,可以在數(shù)據(jù)窗口畫板中,單擊工具欄上的“TabOrder”圖標(biāo)按鈕進(jìn)行設(shè)置,也可以通過選單“Format|TabOrder”進(jìn)入“Tab”鍵順序設(shè)置狀態(tài),如圖7.60所示。7.5.4查詢結(jié)果中重復(fù)值的壓縮盡管檢索結(jié)果都是正確無誤的,但看起來覺得有點(diǎn)別扭。如果希望去除檢索結(jié)果中的重復(fù)值,則從數(shù)據(jù)窗口畫板的選單“Rows”中選擇“SuppressionRepeatingValues…”選單項,彈出“SpecifyRepeatingValueSuppressionList”對話框,如圖7.61所示。7.5.5數(shù)據(jù)窗口對象的有效性檢驗(yàn)除了在數(shù)據(jù)庫畫板中定義有效性檢驗(yàn)規(guī)則外,在數(shù)據(jù)窗口對象畫板中,也可以對有效性規(guī)則進(jìn)行設(shè)置和修改。方法是選擇選單“View|ColumnSpecifications”項,出現(xiàn)“ColumnSpecification”子窗口,如圖7.62所示。7.5.6數(shù)據(jù)窗口對象的排序選擇選單“Rows|Sort…”項,彈出“SpecifySortColumns”對話框,如圖7.63所示。7.5.7數(shù)據(jù)窗口對象的過濾設(shè)置過濾條件的方法是,選擇選單“Rows|Filter…”項,彈出圖7.64所示“SpecifyFilter”對話框。在上方編輯框中輸入過濾條件表達(dá)式,單擊“OK”按鈕即可。7.5.8數(shù)據(jù)窗口對象中數(shù)據(jù)的導(dǎo)出和導(dǎo)入向數(shù)據(jù)窗口對象導(dǎo)入數(shù)據(jù)的方法是,在數(shù)據(jù)窗口畫板中,單擊“Preview”預(yù)覽子窗口,選擇選單“Rows|Import…”項,彈出“SelectImportFile”對話框,如圖7.65所示。7.5.9在數(shù)據(jù)窗口中使用條件位圖(1)在數(shù)據(jù)窗口對象畫板中,單擊工具欄上的控件組合圖標(biāo)下拉列表框,選擇其中的“Picture”控件。(2)首先在需要使用條件位圖的字段上(“Detail”欄中)單擊,彈

溫馨提示

  • 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

提交評論