【Stimulsoft Reports Java教程】复制报表之间的组件

翻译|使用教程|编辑:王香|2018-11-07 13:48:03.000|阅读 67 次

概述:此示例显示如何在不同报表之间复制相同组件StiPage,StiHeader等。

相关链接:

下载Stimulsoft Reports Java最新版本

此示例显示如何在不同报表之间复制相同组件StiPage,StiHeader等。例如,让我们使用两个报表OriginalReport和CustomReport。

首先,您需要从文件反序列化报表。

StiReport originalReport = StiSerializeManager.deserializeReport(
    StiResourceUtil.getStream("/com/stimulsoft/samples/OriginalReport.mrt"));
StiReport customerReport = StiSerializeManager.deserializeReport(
    StiResourceUtil.getStream("/com/stimulsoft/samples/CustomReport.mrt"));

然后,您可以复制组件。为此,可以使用序列化。

StiHeaderBand originalHeader = (StiHeaderBand) originalReport.getComponents().get("HeaderBand1");
int originalIndex = originalHeader.getPage().getComponents().indexOf(originalHeader);
originalHeader.getPage().getComponents().remove(originalIndex);
 
StiHeaderBand customerHeader = (StiHeaderBand) customerReport.getComponents().get("HeaderBand1");
String originalHeaderStr = StiSerializerControler.serializedObjectAsString(customerHeader);
StiHeaderBand newCustomerHeader = new StiHeaderBand();
StiDeserializerControler.deserializeFromString(originalHeaderStr, newCustomerHeader);
newCustomerHeader.setPage(originalReport.getPages().get(0));
originalReport.getPages().get(0).getComponents().add(originalIndex, newCustomerHeader);
newCustomerHeader.setName(StiNameCreation.createName(originalReport, "HeaderBand"));
for (StiComponent component : newCustomerHeader.getComponents()) {
    component.setPage(originalReport.getPages().get(0));
    component.setParent(newCustomerHeader);
    component.setName(StiNameCreation.createName(originalReport, component.getName().replaceAll("\\d*", "")));
}

下载示例

购买Stimulsoft正版授权,请点击“咨询在线客服”哟!



标签:报表解决方案报表JavaHTML报表控件报表设计Stimulsoft

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
title
相关厂商
相关产品
Stimulsoft Reports.Java

专为Java应用程序中的报表进行交互和处理的报表工具

在线
客服
在线
QQ
电话
咨询
400-700-1020
购物车 反馈 返回
顶部
在线客服系统
live chat