ActiveReports 报表应用教程 (11)---交互式报表之文档目录
来源:互联网 发布:数组是数据结构吗 编辑:程序博客网 时间:2024/06/05 20:40
通过文档目录,用户可以非常清晰的查看报表数据结构,并能方便地跳转到指定的章节,最终还可以将报表导出为PDF等格式的文件。本文以2012年各月产品销售分类汇总报表为例,演示如何在 ActiveReports 报表控件实现文档目录。
1、创建报表文件
在应用程序中创建一个名为 rptMonthlySalesByCategory.cs 的 ActiveReports 报表文件,ActiveReports 区域报表(基于代码)。
2、创建报表数据源
点击该图标以创建报表数据源,我们使用的数据源是源代码工程中 Data 目录下的 NWind_CHS.mdb,在打开的报表数据源对话框中,选择”提供程序”选项卡,点击建立连接按钮以打开“数据链接属性”对话框,并选择 “Microsoft Jet 4.0 OLE DB Provider”数据提供器,点击“下一步”按钮切换到 “连接”选项卡,点击“…”按钮定位到 NWind_CHS.mdb 文件,然后点击“确定”按钮以完成创建据源的操作。
回到“OLE DB”选项卡之后在查询区域输入一下 SQL 语句:
SELECT DATEPART("yyyy",订单.订购日期) AS 订购年, DATEPART("m",订单.订购日期) AS 订购月, 类别.类别名称, 类别.说明, 产品.产品名称, 订单明细.数量, 订单明细.单价, 订单明细.折扣 FROM (( 订单INNER JOIN 订单明细 ON 订单.订单ID = 订单明细.订单ID)INNER JOIN 产品 ON 订单明细.产品ID = 产品.产品ID)INNER JOIN 类别 ON 产品.类别ID = 类别.类别IDWHERE DATEDIFF("yyyy",订单.订购日期,'2012-01-01') = 0ORDER BY DATEPART("yyyy",订单.订购日期), DATEPART("m",订单.订购日期), 类别.类别ID, 订单明细.产品ID
3、设计报表界面
3.1、在报表设计界面中点击鼠标右键,并选择插入->组头/组尾,此报表中需要插入三级分组,然后设置以下属性:
groupHeader1 DataField=订购月GroupKeepTogether=FirstDetail
RepeatStyle=OnPage groupHeader2 DataField=类别名称
GroupKeepTogether=FirstDetail
RepeatStyle=OnPage groupHeader3 DataField=产品名称
GroupKeepTogether=FirstDetail
RepeatStyle=OnPage
3.2、在报表后台代码中添加以下代码,用于设置报表目录:
private void groupHeader1_Format(object sender, EventArgs e){this.groupHeader1.AddBookmark(txt订购月1.Text);
}private void groupHeader2_Format(object sender, EventArgs e){this.groupHeader2.AddBookmark(txt订购月1.Text + "\\" + txt类别1.Text);}
4、运行程序
在线演示及源码下载地址:
http://www.gcpowertools.com.cn/products/activereports_demo.htm
0 0
- ActiveReports 报表应用教程 (11)---交互式报表之文档目录
- ActiveReports 报表应用教程 (11)---交互式报表之文档目录
- ActiveReports 报表应用教程 (8)---交互式报表之动态过滤
- ActiveReports 报表应用教程 (9)---交互式报表之动态排序
- ActiveReports 报表应用教程 (8)---交互式报表之动态过滤
- ActiveReports 报表应用教程 (9)---交互式报表之动态排序
- ActiveReports 报表应用教程 (8)---交互式报表之动态过滤
- ActiveReports 报表应用教程 (9)---交互式报表之动态排序
- ActiveReports 报表应用教程 (12)---交互式报表之贯穿钻取
- ActiveReports 报表应用教程 (12)---交互式报表之贯穿钻取
- ActiveReports 报表应用教程 (10)---交互式报表之向下钻取(详细数据按需显示解决方案)
- ActiveReports 报表应用教程 (10)---交互式报表之向下钻取(详细数据按需显示解决方案)
- ActiveReports 报表应用教程 (1)-Hello ActiveReports
- ActiveReports 报表应用教程 (1)---Hello ActiveReports
- ActiveReports 报表应用教程 (1)---Hello ActiveReports
- ActiveReports 报表应用教程 (10)
- ActiveReports 报表应用教程 (3)---图表报表
- ActiveReports 报表应用教程 (4)---分栏报表
- ActiveReports 报表应用教程 (9)---交互式报表之动态排序
- 什么是PMP
- POJ 2411 Mondriaan's Dream
- ActiveReports 报表应用教程 (10)---交互式报表之向下钻取(详细数据按需显示解决方案)
- POJ 3254 Corn Fields
- ActiveReports 报表应用教程 (11)---交互式报表之文档目录
- ThreadPoolExecutor原理及使用
- Flume1.5.0的安装、部署、简单应用(含伪分布式、与hadoop2.2.0、hbase0.96的案例
- 正则匹配 preg_match与preg_match_all 函数
- HDOJ 2444 The Accomodation of Students
- ActiveReports 报表应用教程 (12)---交互式报表之贯穿钻取
- ActiveReports 报表应用教程 (13)---嵌入第三方控件
- UESTC 1852 Traveling Cellsperson
- ActiveReports 报表应用教程 (14)---数据可视化