翻譯|使用教程|編輯:王香|2018-11-07 13:48:03.000|閱讀 538 次
概述:此示例顯示如何在不同報(bào)表之間復(fù)制相同組件StiPage,StiHeader等。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
此示例顯示如何在不同報(bào)表之間復(fù)制相同組件StiPage,StiHeader等。例如,讓我們使用兩個(gè)報(bào)表OriginalReport和CustomReport。
首先,您需要從文件反序列化報(bào)表。
StiReport originalReport = StiSerializeManager.deserializeReport(
    StiResourceUtil.getStream("/com/stimulsoft/samples/OriginalReport.mrt"));
StiReport customerReport = StiSerializeManager.deserializeReport(
    StiResourceUtil.getStream("/com/stimulsoft/samples/CustomReport.mrt"));然后,您可以復(fù)制組件。為此,可以使用序列化。
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正版授權(quán),請點(diǎn)擊“”喲!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn