Override Components
Posted: Mon Oct 05, 2015 12:01 pm
Hello, it's possible to override components like this code written in java?
Best Regards
Code: Select all
//Load report by xml
InputStream stream = new ByteArrayInputStream(relatorioXmlString.getBytes(StandardCharsets.UTF_8));
StiReport relatorioNovo = StiSerializeManager.deserializeReport(stream);
StiPageFooterBand bandaRodapeNova = (StiPageFooterBand) relatorioNovo.getComponents().get(nomeComponente);
/**
* if has custom component
*/
if (bandaRodapeNova != null) {
/**
* remove component
*/
int indiceComponenteOriginal = bandaRodapeOriginal.getPage().getComponents().indexOf(bandaRodapeOriginal);
bandaRodapeOriginal.getPage().getComponents().remove(indiceComponenteOriginal);
/**
* append new component
*/
bandaRodapeNova.setPage(relatorioOriginal.getPages().get(0));
bandaRodapeNova.setName(nomeComponente);
relatorioOriginal.getPages().get(0).getComponents().add(indiceComponenteOriginal, bandaRodapeNova);
for (StiComponent componente : bandaRodapeNova.getComponents()) {
componente.setPage(relatorioOriginal.getPages().get(0));
componente.setParent(bandaRodapeNova);
componente.setName(StiNameCreation.createName(relatorioOriginal, componente.getName().replaceAll("\\d*", "")));
}
}