在 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 (供應商 INNER JOIN 產品 ON 供應商.供應商ID = 產品.供應商ID) INNER JOIN 類別 ON 產品.類別ID = 類別.類別IDORDER BY 產品.類別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
文章列表