提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:胡涛|2024-06-13 09:40:33.010|阅读 9 次
概述:有时,人们会联系我们的技术支持,询问一个常见问题:如何正确地将多份报告合并为一份,尤其是在导出之前。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
Stimulsoft Ultimate (原Stimulsoft Reports.Ultimate)是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。无需比较产品功能,Stimulsoft Ultimate包含了所有内容!
有时,人们会联系我们的技术支持,询问一个常见问题:如何正确地将多份报告合并为一份,尤其是在导出之前。虽然这在技术上很简单,但仍有一些选项需要考虑。例如,在合并报告时如何管理不同的度量单位或页码。没有通用的解决方案,因为它取决于报告创建者的具体目标和目的。为了说明如何将多份报告合并为一份,我们为JS和.NET开发了几个示例。
即使是小代码,也很容易出错。为了简化流程,我们MergeDocument()在 StiReport 类中添加了一个用于合并报表的方法。在 JavaScript 报表工具中,此方法称为mergeDocumentAsync()。
该方法以报表作为输入,其页面将添加到当前报表中。它还有一个重载,接受布尔值作为第二个参数,以确定是否需要预先构建报表。这允许在一行中合并两个 StiReport 对象:report.MergeDocument(report2, true)。
使用仪表板的模板文件可以同时包含报表页面和仪表板。但是,仪表板不是静态对象,没有固定的尺寸。虽然仪表板有一个Render()方法,但它只是一个占位符,不能像报表那样构建。仪表板的具体尺寸只能在导出期间设置,因此无法将报表和仪表板组合成单个现成的文档。该MergeDocument方法仅将另一个模板中的报表页面添加到主报表中。如果模板仅包含仪表板,则该方法将引发异常。在准备合并模板时应考虑到这一点。
功能
首先,确定哪个报告将嵌入到另一个报告非常重要,因为这会影响报告单元和页面顺序。请考虑以下代码示例:
report1.MergeDocument(report2);report2 中的页面将添加到 report1 的页面之后,并转换为 report1 的单元。
var report = StiReport.CreateNewReport(); report.LoadDocument("documents\\Invoice.mdc"); var report2 = StiReport.CreateNewReport(); report2.LoadDocument("documents\\Christmas.mdc"); report.MergeDocument(report2); report.Show();
但在某些情况下,您只需在一个地方下载、构建和合并两个报告模板。合并报告的示例代码:
var report = StiReport.CreateNewReport(); report.Load("Reports\\Invoice.mrt"); var report2 = StiReport.CreateNewReport(); report2.Load("Reports\\Christmas.mrt"); report.Render(); report2.Render(); report.MergeDocument(report2); report.Show();
为了简化代码,您可以使用MergeDocument()具有两个参数的方法重载,并将 true 作为第二个参数传递。这样,两个报告的呈现将在方法中自动处理。例如,使用 build 重载合并报告的代码如下所示:
var report = StiReport.CreateNewReport(); report.Load("Reports\\Invoice.mrt"); var report2 = StiReport.CreateNewReport(); report2.Load("Reports\\Christmas.mrt"); report.MergeDocument(report2, true); report.Show();
如果要合并两份以上的报告,请务必保持一致性,并记住使用主报告的单位。以下是合并三份报告的示例:
var report = StiReport.CreateNewReport(); report.Load("Reports\\Invoice.mrt"); var report2 = StiReport.CreateNewReport(); report2.Load("Reports\\Christmas.mrt"); var report3 = StiReport.CreateNewReport(); report3.Load("Reports\\Report3.mrt"); report.MergeDocument(report2, true); report.MergeDocument(report3, true); //report is containing a rendered pages of the report, report2 and report3 report.Show();
JavaScript 报告工具使用一种称为 的异步合并方法mergeDocumentAsync()。总体而言,上述所有内容都适用于此方法。报告页面的合并及其呈现都是异步进行的。因此,如果该mergeDocumentAsync()方法使用一个参数,并且需要在合并之前构建报告,renderAsync2()则应在 JavaScript 中对它们调用该方法。例如,合并多个报告:
var report = StiReport.CreateNewReport(); report.Load("Reports\\Invoice.mrt"); var report2 = StiReport.CreateNewReport(); report2.Load("Reports\\Christmas.mrt"); await report.renderAsync2(); await report2.renderAsync2(); await report.mergeDocumentAsync(report2); viewer.report = report;
使用该mergeDocumentAsync(,)方法将多个模板合并为一份报告。
var report = StiReport.CreateNewReport(); report.Load("Reports\\Invoice.mrt"); var report2 = StiReport.CreateNewReport(); report2.Load("Reports\\Christmas.mrt"); await report.mergeDocumentAsync(report2, true); viewer.report = report;
这使得在查看、打印或导出之前合并报告变得更加容易。
想要了解Stimulsoft Reports 报价信息的朋友,欢迎咨询。
加入官方社群 740060302,欢迎相互交流
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn
通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
一个基于.NET框架的报表生成器,能够帮助你创建结构、功能丰富的报表。报表设计器界面友好,使用便捷,让你轻松创建所有报表。
Stimulsoft Reports.Web第一款可以直接在Web中编辑报表的报表生成工具
Stimulsoft Reports.Wpf针对wpf用户界面架构开发的报表工具,无需上网,即能轻松实现控件所有功能
Stimulsoft Ultimate用于创建报表和仪表板的通用工具集,支持多种报表导出格式,拥有简单且强大的报表引擎
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@capbkgr.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢