网站首页 > 基础教程 正文
在实际工作中,很多系统都要求具有报表的批量打印功能,如批量打印订单,出料单等。
下面,小编和大家一起学习如何使用 ActiveReports 报表实现批量打印功能。
报表批量打印的特点: 使用报表模板都相同,报表数据根据主键的变化而变化,如订单的批量打印用于一次性打印根据订单ID生成的大量订单报表;
实现批量打印基本操作:
1. 创建 ASP.NET Web 项目
打开 Visual Studio,新建项目 ASP.NET WEB 项目。
2. 创建报表模板
添加完项目之后,添加报表模板,右键单击项目,选择添加项-》Reporting –>ActiveReports10 RDL 报表。
为报表添加查询参数
设置动态绑定数据源
3. 在页面添加循环生成报表代码
3.1 定义5个空 PageReport 对象
public GrapeCity.ActiveReports.PageReport[] report = new GrapeCity.ActiveReports.PageReport[5] { null, null, null, null, null };
public GrapeCity.ActiveReports.Document.PageDocument[] reportD = new GrapeCity.ActiveReports.Document.PageDocument[5] { null, null, null, null, null };
3.2 传递参数,并循环生成 PageReport 实例
public void CreateReport()
{
for (int i = 0; i < 5; i++)
{
// 创建 Container 控件,用户加载 Subreport 控件
report[i] = new GrapeCity.ActiveReports.PageReport(new
System.IO.FileInfo(Server.MapPath("RdlReport1.rdlx")));
report[i].Report.ReportParameters[0].DefaultValue.Values.Add(i.ToString());
report[i].Document.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(pageDocument_LocateDataSource);
}
}
3.3 动态绑定数据源
private DataTable GetDataSource(int id)
{
string connStr = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};", Server.MapPath("/NWind_CHS.mdb"));
string productSql = string.Format("SELECT * From 入库单 where 入库单ID = '" + id + "' order by ID ");
DataLayer dl = new DataLayer(connStr, productSql);
return dl.DataSetData.Tables["Products"];
}
4. 预览报表
4.1 添加预览按钮
原理就是,点击按钮一次切换到下一张报表,实现多张报表预览
<asp:Button ID="NextReport" runat="server" Text="下一张报表" Height="30px" Width="203px" OnClick="NextReport_Click" />
4.2 在页面添加打印按钮,执行报表打印
protected void Button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 3; i++)
{
GrapeCity.ActiveReports.Document.PageDocument rptd = new
GrapeCity.ActiveReports.Document.PageDocument(report[i]);
rptd.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(pageDocument_LocateDataSource);
rptd.Print(true, false, false);
rptd.Printer=""
}
}
报表批量打印和预览到这里就已经实现了,相信大家已经掌握了实现的基本思路。
ActiveReports 报表视频会议
参加视频会议,更快掌握ActiveReports报表工具!资深产品经理将详解 ActiveReports 报表功能、实操案例、技术资源等,您还可携带实际项目场景,和产品经理直接沟通,更快评估试用。
报名视频会议:http://www.gcpowertools.com.cn/products/webinars.aspx
快人一步,免费试用
请通过以下方式联系葡萄城,获取 ActiveReports 的免费试用版:
微信:GrapeCityDT
邮件:marketing.xa@grapecity.com
官网:www.gcpowertools.com.cn
关于葡萄城控件
葡萄城是一家跨国软件研发集团,专注控件领域近30年,是全球最大的控件提供商,也是微软认证的金牌合作伙伴。
- 上一篇: 用Python自动生成数据日报!
- 下一篇: 如何在Spring Boot中实现分库分表处理操作?
猜你喜欢
- 2025-01-14 手机帝国存档怎么修改 存档简单修改教程
- 2025-01-14 文档在线预览(四) 总结篇
- 2025-01-14 MySQL数据库表碎片收集整理那些事
- 2025-01-14 刘心向学(8)指针数组的应用
- 2025-01-14 C#控件美化之路(11):控件ListBox增加DataTable数据绑定功能
- 2025-01-14 一文看懂MySQL如何判断InnoDB表是独立表空间还是共享表空间
- 2025-01-14 SpringBoot实现MySQL数据库自动备份管理系统
- 2025-01-14 一键生成数据库文档,从此告别人工整理文档
- 2025-01-14 all about visitor management system you need to know 03
- 2025-01-14 一篇文章教会你进行Mysql数据库和数据表的基本操作
- 05-162025前端最新面试题之HTML和CSS篇
- 05-16大数据开发基础之HTML基础知识
- 05-16微软专家告诉你Win10 Edge浏览器和EdgeHTML的区别
- 05-16快速免费将网站部署到公网方法(仅支持HTML,CSS,JS)
- 05-16《从零开始学前端:HTML+CSS+JavaScript的黄金三角》
- 05-16一个简单的标准 HTML 设计参考
- 05-16css入门
- 05-16前端-干货分享:更牛逼的CSS管理方法-层(CSS Layers)
- 最近发表
- 标签列表
-
- jsp (69)
- pythonlist (60)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- deletesql (62)
- c++模板 (62)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)