Chapter 6 EEP 2010報表設計

——使用Crystal Reports

 

uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

 

本章說明內容之大綱摘要:

Ø  6-1單檔報表的設計

Ø  6-2單檔報表的設計ClientQuery

Ø  6-3Label設計(單檔)

Ø  6-4單據設計

Ø  6-5統計報表設計

 

 

 

 

 

 

 


 

 

Visual Studio中,內建有Crystal Report工具做為開發報表上的工具在EEP中,同樣我們可以InfoDataSet接上A/P Server來達到3-Tier的方式取得Crystal Report所要的資料,我們就先說明一下Crystal Report的基本架構,以方便下文的報表設計的觀念瞭解。

 

q  安裝

在過往的VSCrystalReport作爲一組常用插件,在VS安裝過程中可以通過選擇設定來決定是否進行安裝。在新版本的VS2010CrystalReport將被脫離出VS自帶安裝包,因此我們需要在

http://www.businessobjects.com/jump/xi/crvs2010/default.asp下載安裝包。

q  DataSource資料源

通過EEPA/P Server端的InfoCommand把資料表從DataBase中取出放入到Client端的InfoDataSet中,然後透過滑鼠右鍵InfoDataSetSave To Report功能,產生一個Xml檔當做CrystalReportDataSet來使用。這個檔案只有結構沒有資料內容,結構只是用在CrystalReportDesignTime(設計模式中,DesignTime的時候透過這個Xml當作CrystalReportDataSet,就可以把所需要的欄位元拖到CrystalReport的各個Section(區域)中。

最後在執行的時候透過CrystalReportSetDataSource功能將InfoDataSet的資料交給CrystalReport內的DataSource。總之,CrystalReport的資料也透過InfoDataSet來向A/P Server取得資料內容,再以CrystalReportDataSource來列印出來。

 

q Section區域

1.      PHPageHeader報表之表頭區域,又稱為PH區。本區將於印表時每頁固定印出。與PFPageFooter)、DTDetail)共稱報表三大區。

2.      DTPageDetail):報表的明細欄位元通常皆放在此區,其內可再搭配SubReport列印次階資料。

3.      PFPageFooter報表之表尾區域,又稱為PF區。本區是報表每頁固定印出的區域,與PHPageHeader類似。

4.      RHReportHeader列印的位置於整份報表的第一頁。

5.      RFReportFooter列印的位置於整份報表的最後一頁。

6.      GHGroupHeader群組報表之表頭區域GH。本區域除了用來定義分階關係外,尚可用來貼上群組所要列印的群組表頭元件,製作出多階報表。群組分階列表,共有兩種模式,一種以單階用索引值來分割上下階關係相同鍵值為同階;另一種則為多檔以一對多關聯來對應上下階關係,兩者不能混合使用,各有其用途。

7.      GF群組報表之表尾區域,在本區域可配合SUM元件來處理群組加總值。而且此區域要與GH相對應。

8.      SUBREPORT多階報表中,除了可使用GH/GF群組方式來設計外,尚可以利用SUBREPORT來輸出明細資料。通常是用在2階以上次階層資料表中使用之。


Converted from CHM to HTML with chm2web Pro 2.85 (unicode)