在葡萄城ActiveReports報表中可以設定單級分組、巢狀分組,同時,還可以使用表格、列表以及矩陣等資料區域控制元件對資料來源進行分組操作。分組報表在商業報表系統中應用不勝列舉,客戶資訊歸類統計表、商品分類統計表、銷售記錄年度、閱讀統計等等。本文將介紹如何在葡萄城ActiveReports報表中實現分組報表。
1、建立報表檔案
在應用程式中新增一個 ActiveReports 報表檔案,使用的專案模板型別為 ActiveReports 頁面報表。新增完成之後從 VS 報表選單中選擇報表屬性選單項,並在外觀選項卡中設定報表頁邊距為 1cm
2、開啟報表資源管理器,並按照以下資訊建立報表資料來源
名稱: | NWind_CHS |
型別: | Micorsoft OleDb Provider |
OLE DB 提供程式: | Microsoft.Jet.OLEDB.4.0 |
伺服器或檔名稱: | Data\NWind_CHS.mdb |
3、 新增資料集
在新建的 NWind_CHS 資料來源上滑鼠右鍵並選擇新增資料集選單項,資料集資訊如下:
常規-名稱:Products
查詢-查詢:
SELECT
產品.*,類別.類別名稱,類別.說明
AS
類別說明,類別.圖片
AS
類別圖片, 供應商.公司名稱
AS
供應商,供應商.聯絡人姓名,供應商.城市,供應商.地址
FROM
(供應商
INNERJOIN
產品
ON
供應商.供應商ID = 產品.供應商ID)
INNERJOIN
類別
ON
產品.類別ID = 類別.類別ID
ORDERBY
產品.類別ID;
4、設計報表介面
選中報表的第一頁 Page1,點選屬性視窗命令區域中【屬性對話方塊】命令連結,在出現的設定對話方塊中設定以下資訊:
常規-資料集名稱: | Products |
分組-表示式: | =[類別名稱] |
4.1、從 VS 工具箱中將 Table 控制元件新增到報表設計介面,設定 Table1 的 FixedSize 為 19cm * 25cm,並按照以下資訊各個資料單元格的屬性:
單元格行列索引 | 控制元件 | 屬性 |
Cells[1,1] | TextBox | Value=First(Fields!類別名稱.Value) & " (" & First(Fields!類別說明.Value) & ")" |
Cells[3,1] | TextBox | Value=Fields!產品名稱.Value |
Cells[3,2] | TextBox | Value=Fields!單位數量.Value |
Cells[3,3] | TextBox | Value=Fields!單價.Value |
Cells[3,4] | TextBox | Value=Fields!訂購量.Value |
Cells[3,5] | TextBox | Value=Fields!再訂購量.Value |
Cells[3,6] | TextBox | Value=Fields!單價.Value * Fields!訂購量.Value |
Cells[3,7] | Image | Value=IconSet("Symbols2",Fields!中止.Value = 0,False,Fields!中止.Value * -1,False,False) |
Cells[4,5] | TextBox | Value=Sum(Fields!訂購量.Value, "Table1") |
Cells[5,5] | TextBox | Value=Sum(Fields!庫存量.Value, "Table1") |
Cells[6,5] | TextBox | Value=Sum(Fields!單價.Value * Fields!訂購量.Value, "Table1") |
最終得到的設計介面如下圖所示:
5、執行程式
通過 F5 鍵執行程式,得到以下執行結果:
線上演示及原始碼下載地址:
http://www.gcpowertools.com.cn/products/activereports_demo.htm
相關閱讀: