![易語(yǔ)言GridReport資料_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/9/a50e7788-3f56-453b-9bd9-b5efc23237a5/a50e7788-3f56-453b-9bd9-b5efc23237a51.gif)
![易語(yǔ)言GridReport資料_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/9/a50e7788-3f56-453b-9bd9-b5efc23237a5/a50e7788-3f56-453b-9bd9-b5efc23237a52.gif)
![易語(yǔ)言GridReport資料_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/9/a50e7788-3f56-453b-9bd9-b5efc23237a5/a50e7788-3f56-453b-9bd9-b5efc23237a53.gif)
![易語(yǔ)言GridReport資料_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/9/a50e7788-3f56-453b-9bd9-b5efc23237a5/a50e7788-3f56-453b-9bd9-b5efc23237a54.gif)
![易語(yǔ)言GridReport資料_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/9/a50e7788-3f56-453b-9bd9-b5efc23237a5/a50e7788-3f56-453b-9bd9-b5efc23237a55.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、易語(yǔ)言漢語(yǔ)編程系統(tǒng)下載網(wǎng)址:Grid+Report報(bào)表組件下載網(wǎng)址: 易語(yǔ)言報(bào)表論壇: 前 言報(bào)表編程在MIS中應(yīng)用非常多,也是程序設(shè)計(jì)中很重要的環(huán)節(jié),一個(gè)具有良好報(bào)表程序才是一個(gè)完美的MIS系統(tǒng)。易語(yǔ)言本身雖然提供了兩個(gè)表格組件,但與實(shí)際的報(bào)表功能有一定的差距,因此采用第三方報(bào)表組件就成了易語(yǔ)言用戶較好的選擇。Grid+Report第三方報(bào)表組件是較為理想的選擇之一,如它可以免費(fèi)注冊(cè),以及強(qiáng)大的報(bào)表功能,詳細(xì)的中文幫助,大量的易語(yǔ)言實(shí)用例程,為易語(yǔ)言進(jìn)行了優(yōu)化使得它成為易語(yǔ)言商業(yè)用戶制作報(bào)表的首選工具。在本教程中,首先介紹用 Grid+Report 的報(bào)表設(shè)計(jì)器應(yīng)用程序設(shè)計(jì)一個(gè)簡(jiǎn)單的清單式報(bào)
2、表,大家最后會(huì)得到一個(gè)與Grid+Report例子模板中的“簡(jiǎn)單列表.grf”類似的報(bào)表模板。接下來學(xué)習(xí)怎樣讓“簡(jiǎn)單列表.grf”例子模板在易語(yǔ)言程序中運(yùn)行起來。首先實(shí)現(xiàn)報(bào)表的打印與打印預(yù)覽功能,通過本部分的學(xué)習(xí)后,可以得到一個(gè)類似本教程附帶的“打印與打印預(yù)覽報(bào)表.e”程序。然后再學(xué)習(xí)利用 Grid+report 的查詢顯示器控件實(shí)現(xiàn)報(bào)表在窗口中的查詢顯示,最后會(huì)創(chuàng)建一個(gè)類似本教程附帶的“在查詢顯示控件中顯示報(bào)表.e”程序。通過本教程的學(xué)習(xí),大家將對(duì) Grid+Report 報(bào)表模板設(shè)計(jì)與在易語(yǔ)言中使用 Grid+Report 有一個(gè)初步與直觀的了解,開啟你用 Grid+Report 在易語(yǔ)言
3、中開發(fā)報(bào)表的大門,為你更進(jìn)一步學(xué)習(xí)奠定了良好的開端。具備一定的數(shù)據(jù)庫(kù)方面的知識(shí)對(duì)開發(fā)報(bào)表非常重要,因?yàn)閳?bào)表一般都需要從數(shù)據(jù)庫(kù)中取數(shù)據(jù),然后由報(bào)表工具生成出來,你應(yīng)該對(duì)數(shù)據(jù)庫(kù)方面的一些基本概念有所了解,能夠?qū)懗龌镜?SQL 查詢語(yǔ)句。如果你具備這些基礎(chǔ)知識(shí),你學(xué)習(xí)用 Grid+Report 在易語(yǔ)言中開發(fā)報(bào)表會(huì)非常容易,如果你覺得這方面有所欠缺,建議你首先加強(qiáng)這方面的學(xué)習(xí)。本教程適用于第一次接觸 Grid+Report 或?qū)?Grid+Report 在易語(yǔ)言中使用還沒有入門的易語(yǔ)言開發(fā)者。完成本教程的學(xué)習(xí)之后,建議你瀏覽并運(yùn)行一遍 Grid+Report 自帶的全部易語(yǔ)言例子,對(duì) Grid+R
4、eport 的功能有所了解。使用本教程你必須安裝易語(yǔ)言的4.0或以上版本。必須安裝 Grid+Report 報(bào)表組件,可以去 下載最新的 Grid+Report。為了順利完成本教程,你應(yīng)該將 Grid+Report 安裝在 C:Program FilesGrid+Report 40 目錄下。概 述Grid+Report是一款高性能的報(bào)表組件(構(gòu)件/控件),特別適用于管理信息系統(tǒng)(如ERP、進(jìn)銷存、財(cái)務(wù)等)的報(bào)表開發(fā)。提供一個(gè)具有超強(qiáng)數(shù)據(jù)展現(xiàn)能力的數(shù)據(jù)網(wǎng)格(DataGrid)部件,制作各種表格報(bào)表非常簡(jiǎn)便;運(yùn)行時(shí)可通過事件響應(yīng)使報(bào)表與用戶交互;針對(duì)票據(jù)套打進(jìn)行了專門實(shí)現(xiàn);總之Grid+Repor
5、t 是制作動(dòng)態(tài)報(bào)表的最佳選擇。提供可視化報(bào)表設(shè)計(jì)器,設(shè)計(jì)報(bào)表快速簡(jiǎn)單。 Grid+Report除了提供打印功能外,還提供報(bào)表的查詢顯示功能,即如各種數(shù)據(jù)網(wǎng)格(DataGrid)控件一樣顯示數(shù)據(jù),讓報(bào)表的查詢顯示與打印一次實(shí)現(xiàn),既提高開發(fā)效率又保持?jǐn)?shù)據(jù)的一致性,這也是Grid+Report與其它報(bào)表構(gòu)件的最大區(qū)別。Grid+Report適用于所有支持COM的開發(fā)平臺(tái),為易語(yǔ)言、Visual Basic、Visual C+、Delphi、C+Builder編寫了大量例程。采用VC+COM+ATL+WTL開發(fā),運(yùn)行性能高,重新發(fā)布簡(jiǎn)單、發(fā)布文件小且不依賴任何運(yùn)行時(shí)庫(kù)。特 點(diǎn)報(bào)表的屏幕查詢顯示、打印、
6、打印預(yù)覽與數(shù)據(jù)導(dǎo)出功能集中一體化實(shí)現(xiàn)。 非常易于動(dòng)態(tài)編程定義報(bào)表:其它報(bào)表構(gòu)件通過在明細(xì)節(jié)上排列一個(gè)個(gè)顯示部件框來輸出明細(xì)記錄的數(shù)據(jù),要通過編程來定義明細(xì)節(jié)上的部件框非常復(fù)雜,有的甚至是不可能的。 Grid+Report 將明細(xì)節(jié)的功能集中實(shí)現(xiàn)在明細(xì)網(wǎng)格中,通過對(duì)列的動(dòng)態(tài)定義從而實(shí)現(xiàn)整個(gè)報(bào)表的動(dòng)態(tài)變化。輕量級(jí)的:Grid+Report 不依賴其它任何動(dòng)態(tài)庫(kù),再次發(fā)布 Grid+Report 只需兩個(gè)動(dòng)態(tài)連接庫(kù)(DLL)。實(shí)現(xiàn)票據(jù)套打非常簡(jiǎn)便:對(duì)票據(jù)套打進(jìn)行了專門的實(shí)現(xiàn)。提供了多種報(bào)表元素自動(dòng)布局方式,使報(bào)表元素的布局適應(yīng)運(yùn)行時(shí)刻的環(huán)境變化。運(yùn)行時(shí)打印生成對(duì)紙張有適應(yīng)能力,即使不以設(shè)計(jì)時(shí)紙張進(jìn)行
7、打印也可以得到輸出布局合理的報(bào)表。獨(dú)立的報(bào)表設(shè)計(jì)器構(gòu)件,實(shí)現(xiàn)運(yùn)行時(shí)修改與設(shè)計(jì)報(bào)表的功能。為 Delphi、C+Builder 編寫專門的包裝類,象使用 VCL 構(gòu)件一樣使用 Grid+Report。使用 Grid+Report 的常用方式作為整個(gè)報(bào)表系統(tǒng)的整體解決方案的實(shí)現(xiàn)工具。首先利用 Grid+Report 的屏幕查詢顯示功能將報(bào)表在屏幕上顯示出來,然后利用 Grid+Report 的打印與打印預(yù)覽功能實(shí)現(xiàn)打印與打印預(yù)覽。實(shí)現(xiàn)查詢、打印與打印預(yù)覽的統(tǒng)一實(shí)現(xiàn),減少重復(fù)工作,并且能夠保持?jǐn)?shù)據(jù)一致性。 只使用 Grid+Report 的打印與打印預(yù)覽功能,象其它報(bào)表構(gòu)件一樣使用。 只利用 Gri
8、d+Report 的屏幕查詢顯示功能,Grid+Report 就像是一個(gè)具有超強(qiáng)數(shù)據(jù)展現(xiàn)功能的數(shù)據(jù)網(wǎng)格(DataGrid)控件, Grid+Report 可以對(duì)數(shù)據(jù)進(jìn)行分組、統(tǒng)計(jì)、分析、顯示等功能,通過對(duì)用戶交互事件的處理達(dá)到與用戶的互動(dòng)。 用 Grid+Report 進(jìn)行票據(jù)的套打,Grid+Report 對(duì)套打進(jìn)行了專門的實(shí)現(xiàn),使得套打位置的對(duì)齊特別便捷。 利用Grid+Report的數(shù)據(jù)導(dǎo)出功能,將應(yīng)用程序中的數(shù)據(jù)導(dǎo)出到Excel、html、Text、CSV 等格式文件。發(fā)布 Grid+Report使用 Grid+Report 開發(fā)的應(yīng)用程序在發(fā)布時(shí)應(yīng)同時(shí)包括 Grid+Report 的
9、最終用戶發(fā)布文件,在 %InstallDir% 目錄存放有 Grid+Report 的最終用戶發(fā)布文件(%InstallDir% 指 Grid+Report 的安裝目錄,缺省為“C:Program FilesGrid+Report 4.0”),目錄中包含兩個(gè)文件:gregn40.dll 與 grdes40.dll。這兩個(gè)文件必須包含在應(yīng)用程序的發(fā)布包中,gregn40.dll 與 grdes40.dll 必須在目標(biāo)機(jī)器上進(jìn)行自注冊(cè),一般的安裝程序制作工具都支持文件的自注冊(cè),也可以用 Windows 的 regsvr32 程序進(jìn)行手工注冊(cè)。Grid+Report 是一個(gè)輕量級(jí)的COM組件,除了自
10、身包括的兩個(gè)發(fā)布文件,不依賴任何運(yùn)行時(shí)庫(kù)。目 錄前 言1概 述2特 點(diǎn)2使用 Grid+Report 的常用方式2發(fā)布 Grid+Report3目 錄3例程說明與學(xué)習(xí)路線5一概述5二例子程序存放目錄5二教程6三基本例子6四進(jìn)階例子7五高階例子7第一節(jié) 創(chuàng)建報(bào)表模板8一創(chuàng)建一個(gè)空白的報(bào)表模板9二定義報(bào)表頭10三插入明細(xì)網(wǎng)格12四綁定明細(xì)網(wǎng)格數(shù)據(jù)13五生成報(bào)表數(shù)據(jù)集的字段18六定義明細(xì)網(wǎng)格的列19七其他說明21第二節(jié) 配置 Grid+Report 在易語(yǔ)言中的使用22一安裝 Grid+Report 的 NPK 文件22二將 Grid+Report 類型庫(kù)加入到支持庫(kù)中24三Grid+Report不
11、同版本劃分26四注冊(cè) Grid+Report 4.027第三節(jié) 實(shí)現(xiàn)報(bào)表打印與打印預(yù)覽29第四節(jié) 實(shí)現(xiàn)報(bào)表在查詢顯示控件中顯示33第五節(jié) 編譯發(fā)布程序35一轉(zhuǎn)換購(gòu)買前開發(fā)的程序35二編譯發(fā)布程序36三注冊(cè)報(bào)表組件DLL的方法37第六節(jié) 全面分析報(bào)表組件的數(shù)據(jù)類型39一構(gòu)件組成39二Grid+Report的生成過程40第七節(jié) 深入了解報(bào)表模板文件41一報(bào)表模板文件41二報(bào)表節(jié)41三明細(xì)網(wǎng)格43四部件框45五參數(shù)對(duì)象47六報(bào)表主對(duì)象事件48七部件框布局方式55八設(shè)計(jì)報(bào)表前應(yīng)考慮的因素56九如何使用報(bào)表編輯器58第八節(jié) 生成與輸出報(bào)表58一基本過程58二創(chuàng)建報(bào)表59三從文件中載入報(bào)表模板59四向記錄
12、集填充記錄60五直接打印輸出61六缺省打印預(yù)覽61七在查詢顯示器中查看報(bào)表62八自定義打印預(yù)覽窗口63第九節(jié) 查詢顯示器64第十節(jié) 報(bào)表參數(shù)的使用64一參數(shù)對(duì)象的含義64二增加參數(shù)64三SQL查詢語(yǔ)句的設(shè)置66第十一節(jié) 未完,待續(xù)!71結(jié)束語(yǔ)71例程說明與學(xué)習(xí)路線一概述Grid+Report為多種編程語(yǔ)言編寫了豐富的例子程序,包括:易語(yǔ)言漢語(yǔ)編程環(huán)境、VC、VB、VB.NET、C#、Delphi、C+Builder。為了便于大家學(xué)習(xí)的方便,我們將例子程序按照由其基本到高級(jí)的順序進(jìn)行排列,希望大家按照排定的順序逐步學(xué)習(xí),按照這樣的順序,大家可以很容易邁入 Grid+Report 開發(fā)的大門,并可
13、以逐步由淺入深的加深對(duì) Grid+Report 的掌握。為了順利運(yùn)行教程(Tutorial)目錄中的例子程序,必須保證 Grid+Report 安裝在“C:Program FilesGrid+Report 4.0”目錄下。 在你開始使用 Grid+Report 做自己的開發(fā)之前,建議先通覽一遍你使用的開發(fā)語(yǔ)言對(duì)應(yīng)的全部例子程序,建議按照下面列出的由淺到深的順序去閱讀報(bào)表。二例子程序存放目錄在安裝 Grid+Report 之后,所有的例子程序與代碼都已經(jīng)安裝在其安裝目錄的對(duì)應(yīng)子目錄之下。例子程序全部位于 Samples 子目錄下,如 Grid+Report 安裝在“C:Program Files
14、Grid+Report 4.0”,則例子程序位于“C:Program FilesGrid+Report 4.0Samples”。不同編程語(yǔ)言的例子源代碼對(duì)應(yīng)到一個(gè)子目錄,每個(gè)例子程序?qū)?yīng)一個(gè)子目錄,下表是Samples目錄下各個(gè)子目錄的簡(jiǎn)要說明。子目錄說明易語(yǔ)言存放 易語(yǔ)言 的全部例子程序以及為易語(yǔ)言專門編寫的起步教程。Application存放可以直接運(yùn)行的例子應(yīng)用子程。C+Builder存放 C+Builder 的全部例子程序。CSharp存放 C# 的全部例子程序。Data存放例子程序用到的數(shù)據(jù)庫(kù)文件與圖像文件。Delphi存放 Delphi 的全部例子程序。Reports存放例子程序用
15、到的全部報(bào)表模板文件。VB存放 Visual Basic 的全部例子程序。VB.Net存放 Visual Basic.NET 的全部例子程序。VC存放 Visual C+ 的全部例子程序。易語(yǔ)言因?yàn)槌绦蛎Q由中文命名,有關(guān)例子的名稱與目錄與本文檔的敘述有區(qū)別,請(qǐng)易開發(fā)者參考“易語(yǔ)言”子目錄下的具體情況進(jìn)行對(duì)照。二教程在每種編程語(yǔ)言的目錄下都有一個(gè)“Tutorial”子目錄,在該子目錄下有兩個(gè)使用 Grid+Report 的例子程序,其中“PrintReport”實(shí)現(xiàn)報(bào)表的打印與打印預(yù)覽,“DsiplayReport”實(shí)現(xiàn)報(bào)表在查詢顯示器控件中的顯示。兩個(gè)例子都只有短短的幾行代碼,也是整個(gè)例子程
16、序中最簡(jiǎn)單的兩個(gè)程序。這兩個(gè)程序也是初次接觸 Grid+Report 的開發(fā)者應(yīng)該首先看的例子。示例程序子目錄說明報(bào)表打印TutorialPrintReport首先從報(bào)表模板文件加載報(bào)表,然后調(diào)用 Print 與 PrintPreview 這兩個(gè)方法實(shí)現(xiàn)報(bào)表的打印與打印預(yù)覽。報(bào)表查詢顯示TutorialDisplayReport使用報(bào)表查詢顯示器控件實(shí)現(xiàn)報(bào)表查詢顯示,首先要讓查詢顯示器控件關(guān)聯(lián)一個(gè)報(bào)表,然后調(diào)用其 Start 方法啟動(dòng)運(yùn)行,同時(shí)關(guān)聯(lián)的報(bào)表也會(huì)進(jìn)入運(yùn)行狀態(tài)中。三基本例子示例程序子目錄說明各種通常形式的報(bào)表Normal演示各種典型類型的報(bào)表,用查詢顯示器控件實(shí)現(xiàn)了報(bào)表查詢顯示,用打
17、印顯示器控件實(shí)現(xiàn)自定義打印預(yù)覽窗口,用報(bào)表設(shè)計(jì)器控件實(shí)現(xiàn)報(bào)表可視化設(shè)計(jì)。報(bào)表數(shù)據(jù)非綁定ManualFillRecord當(dāng)報(bào)表不與數(shù)據(jù)庫(kù)綁定時(shí),在報(bào)表運(yùn)行時(shí)報(bào)表的 FetchRecord 事件被觸發(fā),報(bào)表開發(fā)者在此事件中通過程序向報(bào)表提供數(shù)據(jù)。報(bào)表數(shù)據(jù)導(dǎo)出Export示范怎樣調(diào)用數(shù)據(jù)導(dǎo)出的相關(guān)編程接口實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出的功能,報(bào)表預(yù)覽窗口的工具欄本身有導(dǎo)出按鈕可以實(shí)現(xiàn)報(bào)表在預(yù)覽時(shí)的導(dǎo)出。打印適應(yīng)策略PrintAdapt演示各種打印適應(yīng)策略的輸出效果。包括橫向分頁(yè)與繞行輸出。自定義打印預(yù)覽窗口CustomPreview示范用“打印查看器”組件實(shí)現(xiàn)自定義的打印預(yù)覽窗口,并提供一批外圍操作界面元素與打印查看
18、器進(jìn)行互操作。自定義紙張打印CustomPaper演示使用自定義紙張或編程設(shè)定紙張大小進(jìn)行打印的方法。自定義報(bào)表設(shè)計(jì)器CustomDesigner示范用“報(bào)表設(shè)計(jì)器”組件實(shí)現(xiàn)自定義的報(bào)表設(shè)計(jì)器。報(bào)表中顯示圖像Picture說明圖像框的各種使用方式。用多種方式為圖像框加載圖像數(shù)據(jù)。子報(bào)表SubReport演示子報(bào)表的使用,實(shí)現(xiàn)多個(gè)不同報(bào)表在一個(gè)報(bào)表文檔中輸出。在程序中為每個(gè)子報(bào)表部件設(shè)定關(guān)聯(lián)報(bào)表。四進(jìn)階例子示例程序子目錄說明多個(gè)特殊形式的報(bào)表AdvanceHowTo說明多種特殊格式的報(bào)表。如文字突出顯示,打印反映報(bào)表在查詢顯示時(shí)改動(dòng)的列寬與列順序,報(bào)表查詢顯示時(shí)點(diǎn)擊列進(jìn)行重排序等。自定義分組Ad
19、vanceCustomGroup說明怎樣用自定義的條件生成分組項(xiàng),而不是根據(jù)一個(gè)或多個(gè)字段值的變化生成分組項(xiàng)。自定義分組統(tǒng)計(jì)AdvanceCustomSummary說明當(dāng)分組統(tǒng)計(jì)函數(shù)不能自動(dòng)產(chǎn)生需要的統(tǒng)計(jì)數(shù)據(jù)時(shí),怎樣進(jìn)行自定義的分組數(shù)據(jù)統(tǒng)計(jì)。參數(shù)化查詢SQLAdvanceParamQuerySQL在報(bào)表中定義參數(shù)化的查詢SQL語(yǔ)句與對(duì)應(yīng)的參數(shù),在程序中的報(bào)表 Initialize 事件中為參數(shù)賦值,報(bào)表數(shù)據(jù)將根據(jù)參數(shù)動(dòng)態(tài)得來。匯總表透視明細(xì)表AdvanceSummaryToDetail說明怎樣響應(yīng)“查詢顯示器”構(gòu)件的事件,根據(jù)匯總報(bào)表的當(dāng)前選中行打開對(duì)應(yīng)的明細(xì)報(bào)表,實(shí)現(xiàn)報(bào)表的交互與報(bào)表的穿透查
20、詢。數(shù)據(jù)庫(kù)存取報(bào)表模板AdvanceLoadFromDB說明怎樣從數(shù)據(jù)庫(kù)中某個(gè)表的某個(gè)字段載入與存儲(chǔ)報(bào)表模板數(shù)據(jù)到數(shù)據(jù)庫(kù)表中。五高階例子示例程序子目錄說明圖表AdvanceChart實(shí)現(xiàn)圖表在網(wǎng)格中的顯示,實(shí)現(xiàn)圖表的穿透查詢以及響應(yīng)圖表的交互事件。動(dòng)態(tài)顯示網(wǎng)格列AdvanceDynamicColumn用兩種方式說明怎樣在運(yùn)行時(shí)根據(jù)環(huán)境參數(shù)改變明細(xì)網(wǎng)格顯示的列。動(dòng)態(tài)通用報(bào)表AdvanceDynamicReport說明了在產(chǎn)品化的軟件中,怎樣實(shí)現(xiàn)報(bào)表各個(gè)方面的動(dòng)態(tài)適應(yīng)變化,從而滿足同一實(shí)現(xiàn)滿足不同用戶的要求。動(dòng)態(tài)定義方面包括數(shù)據(jù)、外觀、布局、統(tǒng)計(jì)方式等。目前此例子只有 VC 源程序,大家可以在自己
21、的編程平臺(tái)下可以實(shí)現(xiàn)類似的更動(dòng)態(tài)通用的報(bào)表。單據(jù)打印AdvanceInvoice說明單據(jù)的一般打印,票據(jù)的套打,單據(jù)的成批打印,單據(jù)的連續(xù)打印與即打即停。編程定義報(bào)表模板AdvanceProgram示范以完全編程的方式定義一個(gè)完整的報(bào)表。交叉報(bào)表AdvanceCrossTab說明以編程的方式動(dòng)態(tài)實(shí)現(xiàn)交叉表。打印數(shù)據(jù)網(wǎng)格AdvancePrintDBGrid實(shí)現(xiàn)打印 VCL DBGrid 中顯示的數(shù)據(jù),只有 Delphi 與 C+Builder 提供此示例。第一節(jié) 創(chuàng)建報(bào)表模板首先介紹用 Grid+Report 的報(bào)表設(shè)計(jì)器應(yīng)用程序設(shè)計(jì)一個(gè)簡(jiǎn)單的清單式報(bào)表,大家最后會(huì)得到一個(gè)與 Grid+Repo
22、rt 例子模板中的“簡(jiǎn)單列表.grf”類似的報(bào)表模板。也就是說,如同易語(yǔ)言的表格組件一樣,要先有一個(gè)模板,即:報(bào)表模板,然后將數(shù)據(jù)在報(bào)表模板中顯示即可。一創(chuàng)建一個(gè)空白的報(bào)表模板從 Windows 桌面執(zhí)行“開始”“程序”“Grid+Report 4.0”“Grid+Report 報(bào)表設(shè)計(jì)器”啟動(dòng)報(bào)表設(shè)計(jì)器應(yīng)用程序。如下圖所示:此時(shí)一個(gè)空白的報(bào)表模板創(chuàng)建在報(bào)表設(shè)計(jì)器應(yīng)用程序中。如下圖所示:二定義報(bào)表頭1執(zhí)行菜單命令“插入”“報(bào)表頭”,一個(gè)新的報(bào)表頭被創(chuàng)建。如下圖所示:2執(zhí)行菜單命令“插入”“靜態(tài)框”,將鼠標(biāo)光標(biāo)移動(dòng)到報(bào)表頭之上,拖放鼠標(biāo)。通過以上,就創(chuàng)建了一個(gè)靜態(tài)框,其“名稱”屬性應(yīng)為“Stat
23、icBox1”。3設(shè)置 StaticBox1 的“文本”屬性設(shè)為“客戶基本信息”。如下圖所示:4設(shè)置 StaticBox1 的“居中”屬性設(shè)為“水平”,使標(biāo)題文字在水平方向上居中顯示。設(shè)置 StaticBox1 的“字體”屬性為“宋體、粗體、小三”。如下圖所示:5在 StaticBox1 上單擊鼠標(biāo)右鍵彈出關(guān)聯(lián)菜單,執(zhí)行命令“自動(dòng)調(diào)整大小”,將 StaticBox1 的大小自動(dòng)調(diào)整到合適。6執(zhí)行菜單命令“文件”“保存”保存文件,在文件對(duì)話框選擇合適的目錄位置并輸入文件名“簡(jiǎn)單列表”。至此已經(jīng)完成報(bào)表頭的定義,并保存為一個(gè)模板文件了。三插入明細(xì)網(wǎng)格執(zhí)行菜單命令“插入”“明細(xì)網(wǎng)格”,明細(xì)網(wǎng)格將被創(chuàng)
24、建。如下圖所示:一個(gè)明細(xì)網(wǎng)格已經(jīng)添加到報(bào)表定義中。如下圖所示:四綁定明細(xì)網(wǎng)格數(shù)據(jù)說明:Grid+Report 采用 Windows 操作系統(tǒng)自帶的 OLE DB 數(shù)據(jù)引擎從數(shù)據(jù)源獲取報(bào)表數(shù)據(jù), OLE DB 數(shù)據(jù)引擎是微軟最新最先進(jìn)的數(shù)據(jù)操作引擎,支持各種普通數(shù)據(jù)庫(kù)與多種非數(shù)據(jù)庫(kù)數(shù)據(jù)源。在下面的過程中,大家將學(xué)習(xí)到怎樣從 Grid+Report 例子數(shù)據(jù)庫(kù)獲取報(bào)表明細(xì)數(shù)據(jù),Grid+Report 例子數(shù)據(jù)庫(kù)是一個(gè) Access 數(shù)據(jù)庫(kù)。 1執(zhí)行菜單命令“報(bào)表”“數(shù)據(jù)庫(kù)查詢.”,“設(shè)置數(shù)據(jù)庫(kù)連接串與查詢SQL”對(duì)話框打開。2在“設(shè)置數(shù)據(jù)庫(kù)連接串與查詢SQL”對(duì)話框中,執(zhí)行“創(chuàng)建數(shù)據(jù)庫(kù)連接串.”按
25、鈕,此時(shí)創(chuàng)建 OLE DB 數(shù)據(jù)鏈接屬性窗口打開。3在“OLE DB 提供程序”列表框中選擇“Microsoft Jet 4.0 OLE DB Provider”。然后執(zhí)行“下一步(N)>>”按鈕。選擇“下一步”按鈕后,進(jìn)入連接子夾,如下圖所示:4執(zhí)行“選擇或輸入數(shù)據(jù)庫(kù)名稱”編輯框右邊的“.”按鈕,從打開的“選擇 Access 數(shù)據(jù)庫(kù)”對(duì)話框中選取 Grid+Report 的例子數(shù)據(jù)庫(kù)。如果 Grid+Report 安裝在 C 盤的默認(rèn)目錄,這個(gè) Access 數(shù)據(jù)庫(kù)文件就是“C:Program FilesGrid+Report 4.0SamplesDataNorthwind.md
26、b”。5執(zhí)行“確定”按鈕,數(shù)據(jù)鏈接串已經(jīng)成功創(chuàng)建,大家可以在設(shè)置數(shù)據(jù)庫(kù)連接串與查詢SQL對(duì)話框的“數(shù)據(jù)庫(kù)連接串”編輯框中看到剛才創(chuàng)建的數(shù)據(jù)庫(kù)連接串。6在“查詢 SQL”編輯框中輸入“select * from Customers”,注意不要包括引號(hào),表示將從 Customers 表中取其所有數(shù)據(jù)。7可選操作執(zhí)行“測(cè)試”按鈕驗(yàn)證數(shù)據(jù)庫(kù)連接串與查詢 SQL是否正確設(shè)置。8執(zhí)行“確定”按鈕關(guān)閉設(shè)置數(shù)據(jù)庫(kù)連接串與查詢SQL對(duì)話框,至此已經(jīng)完成報(bào)表明細(xì)數(shù)據(jù)的綁定。五生成報(bào)表數(shù)據(jù)集的字段1執(zhí)行菜單命令“編輯”“根據(jù)查詢生成字段”,此時(shí) Grid+Report 將根據(jù)上一步中創(chuàng)建的數(shù)據(jù)庫(kù)連接串與查詢 SQL
27、 參數(shù)自動(dòng)生成報(bào)表明細(xì)記錄集的字段,生成的字段與數(shù)據(jù)庫(kù)表中的字段保持一致。2可選操作執(zhí)行菜單命令“報(bào)表”“字段集合.”,打開“字段集合”對(duì)話框中可以看到剛才自動(dòng)創(chuàng)建的各個(gè)字段。如下圖所示:至此已經(jīng)完成了報(bào)表數(shù)據(jù)綁定與數(shù)據(jù)存儲(chǔ)方面的定義工作,下一步就是怎樣將報(bào)表數(shù)據(jù)展現(xiàn)出來。六定義明細(xì)網(wǎng)格的列1執(zhí)行菜單命令“編輯”“根據(jù)字段生成列”,此時(shí) Grid+Report 將根據(jù)報(bào)表當(dāng)前明細(xì)記錄集字段的定義生成明細(xì)列,每個(gè)字段將對(duì)應(yīng)生成一個(gè)顯示列,此時(shí)可以看到在明細(xì)網(wǎng)格的定義界面上多了很多列的顯示。2可選操作選中標(biāo)題行中的某個(gè)格,在屬性編輯窗口中改變其“文本”屬性,可以為每個(gè)列標(biāo)題設(shè)置合理的顯示文本。3可
28、選操作執(zhí)行菜單命令“報(bào)表”“列標(biāo)題布局.”,打開“列標(biāo)題布局”對(duì)話框;通過執(zhí)行“上移”與“下移”按鈕,或通過拖放左邊列表中的節(jié)點(diǎn),可以改變列的顯示順序。4可選操作在明細(xì)網(wǎng)格的定義界面上部的標(biāo)尺為列寬度指示標(biāo)尺,將鼠標(biāo)停放在兩個(gè)標(biāo)尺之間的間隔區(qū)域,通過拖放可以改變列的顯示寬度,通過這樣的操作后,可以為每個(gè)列設(shè)置合理的顯示寬度。至此一個(gè)與例子模板“簡(jiǎn)單列表.grf”類似的報(bào)表已經(jīng)定義出來,通過點(diǎn)擊設(shè)計(jì)器下端的“預(yù)覽視圖”與“查詢視圖”切換按鈕,大家可以及時(shí)看到報(bào)表的運(yùn)行效果,其實(shí)在整個(gè)設(shè)計(jì)過程中,大家都可以隨時(shí)進(jìn)入預(yù)覽視圖與查詢視圖,及時(shí)查看報(bào)表的運(yùn)行效果。當(dāng)然這里還沒有定義報(bào)表的頁(yè)眉與頁(yè)腳,通過
29、執(zhí)行菜單命令“插入”“頁(yè)眉”或“插入”“頁(yè)腳”,大家應(yīng)該能很容易地將頁(yè)眉與頁(yè)腳定義出來。如下圖所示:七其他說明1以上操作步驟按設(shè)計(jì)器應(yīng)用程序的主菜單的執(zhí)行過程介紹,很多操作過程都存在對(duì)應(yīng)的右鍵彈出式關(guān)聯(lián)菜單與工具欄按鈕,明細(xì)網(wǎng)格上端的工具欄中的按鈕也可以完成與明細(xì)網(wǎng)格相關(guān)的操作,這些便捷的操作方式大家會(huì)在以后的設(shè)計(jì)過程慢慢熟悉。2以上這個(gè)簡(jiǎn)單的報(bào)表設(shè)計(jì)過程大家也可以通過報(bào)表創(chuàng)建向?qū)硗瓿?,如果大家理解了以上?bào)表的設(shè)計(jì)過程,也會(huì)很容易通過創(chuàng)建向?qū)矶x報(bào)表。通過執(zhí)行菜單命令“文件”“向?qū)?”,啟動(dòng) Grid+Report 報(bào)表創(chuàng)建向?qū)А?Grid+Report 既支持?jǐn)?shù)據(jù)綁定,也支持?jǐn)?shù)據(jù)非綁定。
30、數(shù)據(jù)綁定是指 Grid+Report 在報(bào)表運(yùn)行時(shí)根據(jù)設(shè)定的數(shù)據(jù)連接串與查詢 SQL 語(yǔ)句主動(dòng)從數(shù)據(jù)源取入數(shù)據(jù),上面創(chuàng)建的就是一個(gè)數(shù)據(jù)綁定報(bào)表。而數(shù)據(jù)非綁定報(bào)表在運(yùn)行時(shí),Grid+Report 會(huì)觸發(fā) FetchRecord 報(bào)表事件,報(bào)表開發(fā)者在程序中通過此事件將數(shù)據(jù)填入到報(bào)表。在設(shè)計(jì)數(shù)據(jù)非綁定報(bào)表時(shí),不用設(shè)定數(shù)據(jù)連接串與查詢 SQL 語(yǔ)句,因此也不能自動(dòng)生成字段定義,因此需要在“字段集合”對(duì)話框中逐個(gè)增加字段定義。4要了解更多有關(guān) Grid+Report 的知識(shí)與進(jìn)一步學(xué)習(xí) Grid+Report,請(qǐng)查看產(chǎn)品安裝之后的幫助文檔、例子報(bào)表模板、例子源程序與訪問我們的網(wǎng)站。目前 Grid+Re
31、port 提供的例子源程序除了易語(yǔ)言外,還包括VB.NET、C#、VB、VC、Delphi、C+Builder。第二節(jié) 配置 Grid+Report 在易語(yǔ)言中的使用一安裝 Grid+Report 的 NPK 文件可以直接將Grid+Report 安裝目錄下提供的兩個(gè)NPK文件拷貝到易語(yǔ)言安裝目錄的LIB目錄下,如下圖所示:也可以按以下的步驟安裝:1首先運(yùn)行易語(yǔ)言。2執(zhí)行菜單“工具”“類型庫(kù)或OCX組件->支持庫(kù)”,打開類型庫(kù)創(chuàng)建與安裝窗口。3安裝 gregn40.npk 文件:點(diǎn)擊“安裝”按鈕,打開 gregn40.npk 文件,如果有消息框彈出就選擇“是”。gregn40.npk 文
32、件存在于 Grid+Report 的安裝目錄下,如果 Grid+Report 安裝在 C:Program FilesGrid+Report 40 目錄下,則 NPK 文件位于 C:Program FilesGrid+Report 40Samples易語(yǔ)言NPK 目錄下。如果你是單獨(dú)下載Grid+Report易語(yǔ)言例子程序包,NPK 文件存在于解包目錄下的 NPK 子目錄中。4安裝 grdes40.npk 文件:重復(fù)上一步操作安裝 grdes40.npk。5關(guān)閉當(dāng)前窗口,完成 NPK 文件安裝任務(wù)。二將 Grid+Report 類型庫(kù)加入到支持庫(kù)中1首先運(yùn)行易語(yǔ)言。2然后選擇“工具”“支持庫(kù)配置
33、”菜單。3在打開的對(duì)話框中的列表中選中“報(bào)表引擎庫(kù) 1.0 版”與“報(bào)表設(shè)計(jì)庫(kù) 1.0 版”。提示:這兩個(gè)需要選中的項(xiàng)目文字前面有“”標(biāo)志符號(hào)。(注:易語(yǔ)言在此顯示的版本為1.0,但 Grid+Report 的實(shí)際版本不是,這里不清楚原因。)4執(zhí)行對(duì)話框中的“確定”按鈕,關(guān)閉對(duì)話框。此時(shí)在易語(yǔ)言主窗口的窗口組件箱的“外部組件”欄目下會(huì)加入:“查詢顯示器/GRDisplayViewer”、“打印顯示器/GRPrintViewer”與“報(bào)表設(shè)計(jì)器/GRDesigner”這三個(gè)組件;在“外部事件組件”欄目下會(huì)加入“報(bào)表事件/GridppReport”事件。如下圖所示:5至此你已經(jīng)可以在你的當(dāng)前程序項(xiàng)
34、目中使用 Grid+Report 的幾個(gè)組件來開發(fā)你的報(bào)表系統(tǒng)。注意:如果在你的程序中不會(huì)用到 Grid+Report 的報(bào)表設(shè)計(jì)器控件,在第2步中可以不選中“報(bào)表設(shè)計(jì)庫(kù) 1.0 版”這一項(xiàng),當(dāng)然“GRDesigner”這個(gè)組件也不會(huì)添加到外部組件欄目下。通過上面的操作,Grid+Report 已經(jīng)可以在易語(yǔ)言中使用了。在當(dāng)前易語(yǔ)言系統(tǒng)中,你只需為 Grid+Report進(jìn)行這一次配置任務(wù),以后你就可以在你的易語(yǔ)言程序中使用 Grid+Report了。三Grid+Report不同版本劃分1按程序界面語(yǔ)言劃分的版本版本特點(diǎn)簡(jiǎn)體中文版簡(jiǎn)體中文用戶界面,設(shè)計(jì)器界面可以在中英之間切換。繁體中文版繁體中
35、文用戶界面,設(shè)計(jì)器界面可以在中英之間切換。英文版英文用戶界面。2按功能劃分的版本Grid+Report 根據(jù)功能劃分成幾個(gè)不同的功能版本:試用版、免費(fèi)版、標(biāo)準(zhǔn)版與專業(yè)版。Grid+Report 安裝完成之后自動(dòng)進(jìn)入試用版狀態(tài)。如果想免費(fèi)使用 Grid+Report,可以免費(fèi)向我們申請(qǐng)免費(fèi)版產(chǎn)品的注冊(cè)號(hào)。如果你購(gòu)買了本產(chǎn)品的標(biāo)準(zhǔn)版或?qū)I(yè)版,銷售人員將把一個(gè)產(chǎn)品的序列號(hào)發(fā)送給你。版本特點(diǎn)試用版官方網(wǎng)站下載的都是試用版本,也可稱之為共享版。具有本產(chǎn)品的全部功能,但會(huì)在打印查看器控件顯示的打印頁(yè)面中顯示提示進(jìn)行注冊(cè)的紅色文字,另外在打印查看器控件顯示的打印頁(yè)面的左上角顯示淡紅色的本產(chǎn)品標(biāo)志文字。試用版
36、一般用于評(píng)估或?qū)W習(xí)本產(chǎn)品。免費(fèi)版Grid+Report可注冊(cè)為免費(fèi)版本。具有本產(chǎn)品的全部功能,但會(huì)在打印查看器控件顯示的打印頁(yè)面的左上角顯示淡紅色的本產(chǎn)品標(biāo)志文字。簡(jiǎn)化版您可選擇從免費(fèi)版本注冊(cè)為簡(jiǎn)化版。本版本不提供報(bào)表設(shè)計(jì)器控件,并且禁用報(bào)表數(shù)據(jù)導(dǎo)出功能。標(biāo)準(zhǔn)版您可選擇從免費(fèi)版本注冊(cè)為標(biāo)準(zhǔn)版。本版本除了不提供報(bào)表設(shè)計(jì)器控件之外,具有本產(chǎn)品的其它所有功能,在任何界面中不會(huì)顯示提示性或標(biāo)志性的文字與圖標(biāo)。如果不用向你的最終用戶提供運(yùn)行時(shí)的報(bào)表模板可視化設(shè)計(jì)功能,你可以考慮購(gòu)買本版本。專業(yè)版您可選擇從免費(fèi)版本注冊(cè)為專業(yè)版。具有本產(chǎn)品的全部功能,在任何界面中不會(huì)顯示提示性或標(biāo)志性的文字與圖標(biāo)。注意:僅
37、簡(jiǎn)體中文版提供免費(fèi)版。3按使用范圍劃分的版本對(duì)于購(gòu)買 Grid+Report 標(biāo)準(zhǔn)版與專業(yè)版的用戶,其購(gòu)買價(jià)格與本產(chǎn)品授權(quán)使用的范圍有關(guān)。我們將授權(quán)使用的范圍劃分為單機(jī)版與企業(yè)加密狗版。單機(jī)版只允許在一臺(tái)機(jī)器上使用 Grid+Report 進(jìn)行開發(fā),企業(yè)加密狗版可以在一個(gè)局域網(wǎng)范圍內(nèi)的所有機(jī)器上開發(fā)。用 Grid+Report 的任何一個(gè)版本開發(fā)的應(yīng)用程序分發(fā)時(shí)免費(fèi),即應(yīng)用程序開發(fā)者可以包括 Grid+Report 的發(fā)布文件免費(fèi)發(fā)布其應(yīng)用程序。免費(fèi)版可以不受任何限制的使用本產(chǎn)品。 版本特點(diǎn)個(gè)人開發(fā)版硬件號(hào)注冊(cè),只能在注冊(cè)時(shí)指定的電腦上開發(fā)。單機(jī)加密狗版安裝加密狗,在同一時(shí)間只允許在一臺(tái)機(jī)器上
38、開發(fā)使用。即:加密狗插在哪臺(tái)電腦上,哪臺(tái)電腦就可以使用。企業(yè)加密狗版安裝加密狗,可以在一個(gè)局域網(wǎng)范圍內(nèi)的所有機(jī)器上開發(fā)使用。四注冊(cè) Grid+Report 4.0如果購(gòu)買了 Grid+Report 的收費(fèi)版本,必須在使用 Grid+Report 的開發(fā)電腦上進(jìn)行開發(fā)注冊(cè),只有這樣在您開發(fā)的軟件中 Grid+Report 才不會(huì)運(yùn)行在免費(fèi)版狀態(tài)中,也就是說 Grid+Report 不會(huì)顯示免費(fèi)版標(biāo)志文字。當(dāng)沒有進(jìn)行開發(fā)注冊(cè)時(shí),Grid+Report 的查詢顯示器控件、打印顯示器控件與報(bào)表設(shè)計(jì)器控件在程序的設(shè)計(jì)表單(Form)上就會(huì)顯示為免費(fèi)狀態(tài),這樣即使用購(gòu)買版本的注冊(cè)號(hào)在程序中進(jìn)行注冊(cè),Gri
39、d+Report 還是會(huì)運(yùn)行在免費(fèi)版狀態(tài)下。圖一就是查詢顯示器控件在未進(jìn)行開發(fā)注冊(cè)時(shí)的顯示狀態(tài)。如果進(jìn)行了開發(fā)注冊(cè),以上三個(gè)控件就會(huì)在程序的設(shè)計(jì)表單(Form)上顯示對(duì)應(yīng)的購(gòu)買版本信息,這樣就表示進(jìn)行了正確的開發(fā)注冊(cè)。圖二就是查詢顯示器控件在進(jìn)行了開發(fā)注冊(cè)時(shí)的顯示狀態(tài)。如果您是夠買用戶,但又沒有顯示正確的開發(fā)注冊(cè)版本,就應(yīng)該根據(jù)下面不同版本的注冊(cè)說明進(jìn)行檢查。圖一圖二每種版本進(jìn)行開發(fā)注冊(cè)的方式不一樣,下面就個(gè)人版、單機(jī)開發(fā)版與企業(yè)開發(fā)版的注冊(cè)方式進(jìn)行分別說明。為了偵測(cè)與注冊(cè)開發(fā)注冊(cè)信息,需要使用“Grid+report 開發(fā)注冊(cè)”程序,在安裝 Grid+Report 4.0 之后,在 Wind
40、ows 系統(tǒng)的開始菜單中的“Grid+Report 4.0”下選擇“Grid+Report 開發(fā)注冊(cè)”可以啟動(dòng)該程序。1注冊(cè)個(gè)人開發(fā)版在收到銳浪軟件發(fā)給您的注冊(cè)號(hào)之后,啟動(dòng)“Grid+Report 開發(fā)注冊(cè)”程序,在“個(gè)人版開發(fā)注冊(cè)”框中的“開發(fā)注冊(cè)號(hào)”編輯框中粘貼填入您的開發(fā)注冊(cè)號(hào),然后執(zhí)行“注冊(cè)”按鈕。如果注冊(cè)成功,在“開發(fā)注冊(cè)信息偵測(cè)”框中就會(huì)顯示正確的開發(fā)注冊(cè)信息。注意:進(jìn)行注冊(cè)的電腦必須是您在購(gòu)買個(gè)人版時(shí)向銳浪軟件提供機(jī)器碼的電腦。2注冊(cè)單機(jī)開發(fā)版單機(jī)開發(fā)版將軟件狗插接在當(dāng)前使用 Grid+Report 進(jìn)行開發(fā)的電腦 USB 接口上就完成了開發(fā)注冊(cè)。啟動(dòng)“Grid+Report 開
41、發(fā)注冊(cè)”程序可以偵測(cè)軟件狗,如果在“開發(fā)注冊(cè)信息偵測(cè)”框中顯示了正確的版本信息,表示軟件狗插接正確。3注冊(cè)企業(yè)開發(fā)版服務(wù)器電腦配置:首先應(yīng)該在局域網(wǎng)范圍內(nèi)選定一臺(tái)電腦用來插接企業(yè)版軟件狗,在其它電腦使用 Grid+Report 進(jìn)行開發(fā)時(shí),應(yīng)該保證本臺(tái)電腦處于開機(jī)狀態(tài),并與局域網(wǎng)中的其它電腦是互聯(lián)互通的。首先在 USB 端口插接企業(yè)版軟件狗,然后啟動(dòng)“Grid+Report 企業(yè)版開發(fā)注冊(cè)”程序(grndsvr.exe),此時(shí)在 Windows 的任務(wù)欄中會(huì)顯示本程序的圖標(biāo)(見圖三),雙擊此圖標(biāo)會(huì)顯示程序界面窗口,在窗口中會(huì)顯示企業(yè)版軟件狗對(duì)應(yīng)的版本信息?!癎rid+Report 企業(yè)版開發(fā)注
42、冊(cè)(grndsvr.exe)”在首次啟動(dòng)之后,以后 Windows 系統(tǒng)啟動(dòng)時(shí)都會(huì)自動(dòng)運(yùn)行本程序。圖三開發(fā)電腦配置:使用 Grid+Report 進(jìn)行開發(fā)的每一臺(tái)電腦都需要設(shè)置插接企業(yè)版軟件狗的服務(wù)器電腦的訪問參數(shù),以便開發(fā)電腦可以可以獲取開發(fā)注冊(cè)信息。啟動(dòng)“Grid+Report 開發(fā)注冊(cè)”程序,在“企業(yè)版開發(fā)注冊(cè)”框的“服務(wù)器”編輯框中輸入插接企業(yè)版軟件狗的機(jī)器名或 IP 地址,端口也要與之保持一致,然后執(zhí)行“注冊(cè)”按鈕。如果根據(jù)參數(shù)可以偵測(cè)到企業(yè)版軟件,本機(jī)注冊(cè)成功,在“開發(fā)注冊(cè)信息偵測(cè)”框中將顯示對(duì)應(yīng)的版本信息。為了成功注冊(cè),必須保證企業(yè)版軟件狗已經(jīng)插接在指定電腦,且“企業(yè)版開發(fā)注冊(cè)服
43、務(wù)程序”在該電腦上已運(yùn)行。第三節(jié) 實(shí)現(xiàn)報(bào)表打印與打印預(yù)覽本過程實(shí)現(xiàn)將“簡(jiǎn)單列表.grf”例子模板載入到報(bào)表對(duì)象中,并實(shí)現(xiàn)報(bào)表的打印與打印預(yù)覽。1啟動(dòng)易語(yǔ)言。2新建一個(gè)易程序。(執(zhí)行菜單命令“程序”“新建”,在打開的對(duì)話框的右邊程序類型框中選擇“Windows窗口程序”,最后執(zhí)行“確定”按鈕。)3在易語(yǔ)言主窗口中,選擇工作夾中的“支持庫(kù)”面板,在支持庫(kù)列表中檢查“grproLib”是否已經(jīng)存在,如果不存在,請(qǐng)參照上一節(jié)中介紹加入 Grid+Report 的類型庫(kù)到支持庫(kù)中。4選中激活“_啟動(dòng)窗口”,雙擊此啟動(dòng)窗口,或選擇工作夾中的“屬性”面板,打開下方的事件下拉列表框,從中選擇“創(chuàng)建完畢”事件。
44、此時(shí)啟動(dòng)窗口的程序集打開,并加入了“_啟動(dòng)窗口_創(chuàng)建完畢”事件響應(yīng)子程序。5定義報(bào)表主對(duì)象:在程序集中定義一個(gè)程序集變量,名稱為“報(bào)表主對(duì)象”,類型為“報(bào)表”或“GridppReport”。6載入報(bào)表模板:在“創(chuàng)建完畢”事件響應(yīng)子程序中調(diào)用報(bào)表主對(duì)象的“從文件加載報(bào)表”或“LoadFromFile”方法載入報(bào)表模板。具體代碼如下:報(bào)表主對(duì)象.LoadFromFile (“C:Program FilesGrid+Report 4.0SamplesReports簡(jiǎn)單列表.grf”)下面再加入連接數(shù)據(jù)源的代碼:報(bào)表主對(duì)象.獲取明細(xì)網(wǎng)格 ().獲取數(shù)據(jù)集 ().鏈接串 “Provider=Micros
45、oft.Jet.OLEDB.4.0;User ID=Admin;Data Source=c:Program FilesGrid+Report 4.0SamplesDataNorthwind.mdb”這些鏈接串的內(nèi)容,其實(shí)都是以前在數(shù)據(jù)庫(kù)連接串中的文字。7在啟動(dòng)窗口上加入兩個(gè)按鈕,名稱分別為“打印按鈕”與“打印預(yù)覽按鈕”,標(biāo)題為“打印”與“打印預(yù)覽”,分別雙擊這兩個(gè)按鈕,添加按鈕執(zhí)行響應(yīng)子程序。8實(shí)現(xiàn)報(bào)表打印功能:調(diào)用報(bào)表主對(duì)象的“打印”或“Print”方法實(shí)現(xiàn)報(bào)表輸出到打印機(jī)打印,在“打印按鈕”被單擊響應(yīng)子程序中,加入代碼:報(bào)表主對(duì)象.Print (真)9實(shí)現(xiàn)報(bào)表打印預(yù)覽功能:調(diào)用報(bào)表主對(duì)象的
46、“打印預(yù)覽”或“PrintPreview”方法實(shí)現(xiàn)報(bào)表在屏幕上的打印預(yù)覽,在“打印預(yù)覽按鈕”被單擊響應(yīng)子程序中,加入代碼:報(bào)表主對(duì)象.PrintPreview (真)10保存程序。大家將得到與本教程文件所在目錄下的“打印與打印預(yù)覽報(bào)表.e”類似的程序。此時(shí)大家就可以運(yùn)行寫好的程序,點(diǎn)擊“打印”按鈕就可以將報(bào)表輸出到打印機(jī)打印,點(diǎn)擊“打印預(yù)覽”按鈕就會(huì)打開報(bào)表打印預(yù)覽窗口,報(bào)表會(huì)顯示在打印預(yù)覽窗口中。第四節(jié) 實(shí)現(xiàn)報(bào)表在查詢顯示控件中顯示本過程實(shí)現(xiàn)將“簡(jiǎn)單列表.grf”例子模板載入到報(bào)表對(duì)象中,并實(shí)現(xiàn)報(bào)表在查詢顯示器控件中的顯示。1運(yùn)行易語(yǔ)言。2新建一個(gè)易程序。3在易語(yǔ)言主窗口中,選擇工作夾中的“
47、支持庫(kù)”面板,在支持庫(kù)列表中檢查“grproLib”是否已經(jīng)存在,如果不存在,請(qǐng)參照前面節(jié)中介紹加入 Grid+Report 的類型庫(kù)到支持庫(kù)中。4打開并選中啟動(dòng)窗口,雙擊啟動(dòng)窗口,或選擇工作夾中的“屬性”面板,打開下端的事件下拉列表框,從中選擇“創(chuàng)建完畢”事件,此時(shí)啟動(dòng)窗口的程序集打開,并加入了“創(chuàng)建完畢”事件響應(yīng)子程序。5定義報(bào)表主對(duì)象:在程序集窗口中定義一個(gè)程序集變量,名稱為“報(bào)表主對(duì)象”,類型為“GridppReport”。6載入報(bào)表模板:在啟動(dòng)窗口“創(chuàng)建完畢”事件響應(yīng)子程序中調(diào)用報(bào)表主對(duì)象的“從文件加載報(bào)表”或“LoadFromFile”方法載入報(bào)表模板。具體代碼如下:報(bào)表主對(duì)象.L
48、oadFromFile (“C:Program FilesGrid+Report 4.0SamplesReports簡(jiǎn)單列表.grf”)7在啟動(dòng)窗口上插入一個(gè)報(bào)表查詢顯示器控件:在窗口組件箱的外部組件類別下選擇“查詢顯示器/GRDisplayViewer”組件并插入到啟動(dòng)窗口中,調(diào)整新插入的組件到合適大小。8在程序集中關(guān)聯(lián)報(bào)表主對(duì)象與查詢顯示器控件:調(diào)用 “查詢顯示器/GRDisplayViewer”的“設(shè)置關(guān)聯(lián)報(bào)表/SetReport”方法為查詢顯示器控件關(guān)聯(lián)一個(gè)報(bào)表對(duì)象。在“創(chuàng)建完畢”事件響應(yīng)子程序中加入如下代碼:GRDisplayViewer1.SetReport (報(bào)表主對(duì)象)9實(shí)現(xiàn)查
49、詢顯示器控件的啟動(dòng)運(yùn)行:調(diào)用“查詢顯示器/GRDisplayViewer”的“啟動(dòng)/Start”方法啟動(dòng)查詢顯示器控件運(yùn)行。在“創(chuàng)建完畢”事件響應(yīng)子程序中加入如下代碼:GRDisplayViewer1.Start ()10保存程序。大家將得到與本教程文件所在目錄下的“在查詢顯示控件中顯示報(bào)表.e”類似的程序。運(yùn)行后的效果如下圖所示:按照上一節(jié)中的過程,大家可以為本程序增加報(bào)表打印與打印預(yù)覽功能。此時(shí)大家就可以運(yùn)行寫好的程序,你將會(huì)在運(yùn)行的程序中看到報(bào)表顯示在查詢顯示器控件中,只用了很少的幾行代碼就實(shí)現(xiàn)了報(bào)表的查詢顯示,整個(gè)過程是非常簡(jiǎn)單的。通過這個(gè)簡(jiǎn)單的教程,大家可以逐步體會(huì)到:要在易語(yǔ)言下學(xué)
50、習(xí)與使用Grid+Report 很容易。Grid+Report 的全部功能都可以在易語(yǔ)言下發(fā)揮出來,使用 Grid+Report,可以助你輕松實(shí)現(xiàn)專業(yè)高效的報(bào)表與打印功能。第五節(jié) 編譯發(fā)布程序一轉(zhuǎn)換購(gòu)買前開發(fā)的程序1打開上節(jié)編寫好的易語(yǔ)言報(bào)表源代碼“在查詢顯示控件中顯示報(bào)表.e”。2創(chuàng)建一個(gè)目錄,以用于存放編譯好的發(fā)布文件,如“C:編譯程序”。3因?yàn)橘?gòu)買前開發(fā)的程序沒有寫入開發(fā)注冊(cè)信息,所以必須進(jìn)行轉(zhuǎn)換處理。購(gòu)買前執(zhí)行開始菜單中的“Grid+Report開發(fā)注冊(cè)”程序后將找到機(jī)器碼,付費(fèi)注冊(cè)后會(huì)得到一個(gè)注冊(cè)碼,將此注冊(cè)碼填在注冊(cè)號(hào)一欄中,點(diǎn)擊“注冊(cè)”按鈕即可注冊(cè)組件。如下圖所示:未注冊(cè)前的報(bào)表
51、組件還不能被編譯使用,只有轉(zhuǎn)換一下才可以正常編譯,其過程非常簡(jiǎn)單:在您的編程語(yǔ)言集成開發(fā)環(huán)境(IDE)中打開使用了 Grid+Report 的查詢顯示器、打印顯示器與報(bào)表設(shè)計(jì)器這三個(gè)控件的表單(Form,VC為資源對(duì)話框),對(duì)報(bào)表控件或其它控件進(jìn)行位置或大小的改變,然后關(guān)閉表單再重新打開,此時(shí)控件應(yīng)該顯示正確的版本信息。也可以將原控件刪除,然后再重新加入?;蚴褂檬髽?biāo)右鍵菜單中的“設(shè)置全部屬性”命令,打開“設(shè)置全部屬性”窗口后再關(guān)閉?;?qū)傩悦姘逯杏小叭繉傩浴睂傩?,設(shè)置一下關(guān)閉即可。如下圖所示。二編譯發(fā)布程序4呈現(xiàn)上述狀態(tài)后,再在易語(yǔ)言中進(jìn)行編譯操作。點(diǎn)擊菜單“編譯”“編譯”即可進(jìn)行非獨(dú)立編譯,
52、在此用非獨(dú)立編譯方式編譯是為了以后方便注冊(cè)報(bào)表的DLL文件。如下圖所示。5這里會(huì)彈出要求輸入文件名的對(duì)話窗口,請(qǐng)輸入一個(gè)合適的名字。6在編譯結(jié)束后,會(huì)在易語(yǔ)言的提示信息中看到如下的字樣:將上述所需的文件找到,拷貝到編譯后的目錄中,與EXE文件放在同一個(gè)目錄下。如下圖所示:這時(shí)可以運(yùn)行EXE文件看一下,可以看到已可以正常運(yùn)行了。但還是請(qǐng)結(jié)束運(yùn)行,因?yàn)檫@里有一個(gè)問題,即DLL文件是安裝報(bào)表組件時(shí)注冊(cè)好的,而如果發(fā)布到其他用戶的電腦中,因?yàn)闆]有注冊(cè)過,因此還是運(yùn)行不了,會(huì)出現(xiàn)錯(cuò)誤。不信,你就反安裝報(bào)表組件,然后運(yùn)行上述EXE文件看一下。因此還需要進(jìn)行注冊(cè)的操作。注冊(cè)DLL有幾種方法,一種是寫在程序里
53、運(yùn)行時(shí)注冊(cè),或運(yùn)行批處理文件注冊(cè),或在打包程序中寫注冊(cè)代碼在安裝時(shí)自動(dòng)注冊(cè)。三注冊(cè)報(bào)表組件DLL的方法發(fā)布概述使用 Grid+Report 開發(fā)的應(yīng)用程序在發(fā)布時(shí)應(yīng)同時(shí)包括 Grid+Report 的最終用戶發(fā)布文件,需要再分發(fā)的文件只有兩個(gè)DLL:gregn40.dll 與 grdes40.dll。這兩個(gè)文件必須包含在應(yīng)用程序的發(fā)布包中,gregn40.dll 與 grdes40.dll 必須在目標(biāo)機(jī)器上進(jìn)行自注冊(cè),一般的安裝程序制作工具都支持文件的自注冊(cè),也可以用 Windows 的 regsvr32.exe 程序進(jìn)行手工注冊(cè)。Grid+Report 是一個(gè)輕量級(jí)的COM組件,除了自身包括
54、的兩個(gè)發(fā)布文件,不依賴任何運(yùn)行時(shí)庫(kù)。手工注冊(cè)發(fā)布文件regsvr32.exe 程序是 Windows 自帶的注冊(cè)進(jìn)程內(nèi) COM 對(duì)象的工具,在每種 Windows 版本中都帶有此應(yīng)用程序。如果將用 Grid+Report 開發(fā)的應(yīng)用程序分發(fā)到目標(biāo)計(jì)算機(jī)時(shí),在安裝過程中沒有對(duì) Grid+Report 的兩個(gè)發(fā)布 DLL 進(jìn)行自注冊(cè),則必須用 regsvr32.exe 程序進(jìn)行注冊(cè)操作,在命令行窗口中,執(zhí)行 regsvr32 命令。語(yǔ)法如下:regsvr32 "%FilePath%gregn40.dll"regsvr32 "%FilePath%grdes40.dll&
55、quot;其中 %FilePath% 代表這兩個(gè) DLL 文件的目錄,在實(shí)際中應(yīng)用目錄進(jìn)行替換。1用批處理注冊(cè)DLL創(chuàng)建一個(gè)TXT文本程序,改名為“REG.BAT”,這是一個(gè)批處理文件名。編輯這個(gè)批處理文件內(nèi)容為:regsvr32 gregn40.dll取消注冊(cè)的批處理文件內(nèi)容為:regsvr32 /s /u gregn40.dll即,如果你取消注冊(cè)DLL文件后運(yùn)行EXE文件,那么就會(huì)出錯(cuò),反之,如果注冊(cè)了DLL文件,那么就可以正常運(yùn)行了。當(dāng)然每次運(yùn)行批處理文件是麻煩的,還會(huì)彈出一個(gè)窗口來,很難看,因此也可以寫到程序易語(yǔ)言里。2在易程序中寫注冊(cè)DLL的代碼那么在易語(yǔ)言中,也可以通過以下代碼實(shí)現(xiàn)
56、注冊(cè):運(yùn)行 (“regsvr32 gregn40.dll”, 假, #隱藏窗口)不過,這樣的話,也是需要每次運(yùn)行時(shí)都要注冊(cè)的,并且當(dāng)程序啟動(dòng)時(shí)太快的話,如果還沒有注冊(cè)成功,就顯示了報(bào)表組件,還是會(huì)出錯(cuò)的,因此一般都放在程序運(yùn)行的最開始處,并且加上“延時(shí)”或“延遲”這樣的命令,以確保注冊(cè)的效果,甚至用一個(gè)版權(quán)窗口中注冊(cè),注冊(cè)完成后再顯示帶報(bào)表的主窗口。3在安裝時(shí)注冊(cè)下面以INNO SETUP打包軟件為例,只要在FILES字段中加入以下腳本,即可在安裝時(shí)自動(dòng)注冊(cè)了:Source:"gregn40.dll"DestDir:"app"Flags:restartreplace sharedfile reg
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 代收美金合同范本
- 2025年度新型環(huán)?;炷敛牧腺?gòu)銷合同范本集錦
- 勞動(dòng)生產(chǎn)合同范例
- 喬木修剪合同范本
- 公司投資電影合同范例
- 個(gè)人外貿(mào)合同范例
- 2014家裝合同范例
- 信息資產(chǎn)安全合同范本
- 借用合同范例 英文
- 旅游業(yè)個(gè)性化旅游定制服務(wù)方案
- 酒店春節(jié)營(yíng)銷方案
- 營(yíng)銷管理方案中的定價(jià)策略與盈利模式
- 2024年西寧城市職業(yè)技術(shù)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 2024年臨沂市高三一模(學(xué)業(yè)水平等級(jí)考試模擬試題)物理試卷
- 廣州獵德大橋三維曲面塔清水混凝土施工技術(shù)
- 我國(guó)糖尿病視網(wǎng)膜病變臨床診療指南2022解讀
- 高級(jí)茶藝師技能鑒定(協(xié)會(huì)版)備考題庫(kù)-下(多選、判斷題匯總)
- 特種設(shè)備作業(yè)人員體檢表(叉車)
- c30混凝土路面施工方案
- 加強(qiáng)師德師風(fēng)建設(shè)學(xué)校師德師風(fēng)警示教育講座培訓(xùn)課件
- 豬飼料購(gòu)銷合同書
評(píng)論
0/150
提交評(píng)論