此示例演示如何复制相同的组件StiPage,StiHeader并且不同的 表之间等。例如,让我们使用两个 表 OriginalReport 和 CustomReport。
此示例演示如何复制相同的组件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*", "")));}...
Aspose、E-iceblue、FastReport、Stimulsoft等文档/ 表图表类开发工具享超低折扣,如有需要可直接联系在线客服。
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!