Olá a todos.
Bom minha situação é a seguinte.
Vai ter situações em que o usuário vai precisar configurar quanto quer de margem no meu relatório (Tanto altura quanto Largura).
Como faço para alterar isso no meu report?
Obrigado pela atenção.
Olá a todos.
Bom minha situação é a seguinte.
Vai ter situações em que o usuário vai precisar configurar quanto quer de margem no meu relatório (Tanto altura quanto Largura).
Como faço para alterar isso no meu report?
Obrigado pela atenção.
Pelo que vi aqui no guj unica forma de eu fazer isto é alterando jrxml, mas como faço essa alteração? pelo que vi deve ser alterado o atributo rightmargin antes de copilar, mas não tenho idéia de como faço isto.
valeu.
Alguém? alguma idéia de como fazer para ter margens configuráveis?
Obrigado.
Bom avancei alguns passos.
Descobri que posso alterar a margem no JRStyle tem os métodos .getLineBox().setLeftPadding() …
Mas quando vou obter este JRStyle com o método getDefaultStyle() do JasperReport ele sempre vem null e eu não achei nenhum método de setar um JRStyle ou JRBaseStyle no JasperReport.
Alguém já fez algo assim?
Se alguém poder me ajudar fico grato.
obrigado.
BomDia
seguinte, você pode pegar o seu desing fonte (.jrxml) antes de compilar e carregar num objeto JasperDesign.
Fazendo da seguinte forma:
JasperDesign design = JRXmlLoader.load("/testDesign/source/nowGo.jrxml");
Assim você pode pegar o objeto desing e configurar as margens como você quiser. Depois é só compilar.
design.setTopMargin(50);
design.setLeftMargin(20);
design.setRightMargin(2);
design.setBottomMargin(50);
JasperReport jasperReport = JasperCompileManager.compileReport(design);
Espero ter ajudado.
Bom valeu mateusFreitas() consegui fazer com que o relatório adquirisse uma margem de acordo com o que eu passo.
mas agora estou com outro pequeno problema.
usei da seguinte forma para fazer a margem do relatório.
.
.
.
InputStream stream = ... aqui vou adiquirir o inputstream.
JasperDesign jd = JRXmlLoader.load(stream);
JRBaseStyle jrbs = new JRBaseStyle();
jrbs.getLineBox().setLeftPadding(50); // valor que pus aqui foi só de exemplo.
jd.setDefaultStyle(jrbs);
.
.
.
bom desta forma o relatório possuiu uma margem de 50 como no exemplo, e percebi que os campos se ajustaram de acordo (diminuindo tamanho de alguns e até mesmo cortando alguns outros)
meu problema é o seguinte esta margem não esta pegando linhas que possui no irreport e nem fazendo no background.
vou por uma imagem só pra tentar demonstrar melhor o que esta acontecendo.

como podem ver a linha ficou intacta (neste mesmo local estava o texto antes de eu dar a margem)
ela deveria ter movido para lado como mostra linha vermelha que fiz. estes casos acontecem também com background.
alguém tem alguma idéia de como fazer para eles também aderirem a esta margem ou para por margem nestes casos.
Pra mim está acontecendo esse mesmo problema.
Coloco a margem, mas só os campos vão com ela… as linhas não.
Muito Estranho… Será que elas precisam ser tratadas diferentes?? :?: