Difícil dizer algo sem debugar…
Não dá nenhum erro no console?
Verificou se o DataSource esta com algum dado
E
erickfm8
furutani primeiramente quero agradecer por estar me ajudando,
Bom já debuguei, não da nenhum erro no console, como você pode ver não tenho datasourse, pois o relatório tem somente o Título e uma imagem que é passada por parâmetro,
Debugando o que eu pude perceber é que essa imagem realmente existe quando passada no parâmetro, é ele chega gerar o relatório, porem gera em branco sem nada. nem o titulo aparece.
Talvez pode ser alguma coisa de posicionamento mais não faço mínima idéia de como arrumar isso.
Obrigado
E
erickfm8
Só reforçando, fui fazer um teste para abrir direto no jasperviw
Coloquei JasperView jv = new JasperView(jasperPrint);
ai da a seguinte menssagem
“O documento não contem páginas” e abre vazio.
E
erickfm8
Ja descobri o que é,é uma coisa mtu “ridícula”, acredita que vc temque mandar um dataSource com algum objeto na lista do dataSource… mesmo que vc não vai usar, vc temque mandar se não, não funciona
R
raf4ever
erickfm8:
Ja descobri o que é,é uma coisa mtu “ridícula”, acredita que vc temque mandar um dataSource com algum objeto na lista do dataSource… mesmo que vc não vai usar, vc temque mandar se não, não funciona
Na verdade não é bem isso…
Vc pode usar sem datasource; basta ir na aba ‘Propriedades’ do seu relatório e na opção ‘When no Data’ selecionar ‘All Sections,no Detail’
E
erickfm8
Amigo eu não estou usando o IReport, estou usando o JasperReport, estou criando o relatório dinamicamente, estou criando o XML dinamicamente pelo java, assim não existe esta opção.
Eu não sei como que faz para fazer o ajuste citado por raf4ever, mas 99% de chance de existir uma forma de fazer isso programaticamente.
E
erickfm8
Outro problema agora, é o seguinte
veja meu jasperDesign
privateJasperDesigngetJasperDesign(List<JFreeChart>freesCharts)throwsJRException{
JasperDesigndesign=newJasperDesign();design.setPageWidth(500);design.setPageHeight(1000);design.setColumnCount(1);design.setColumnWidth(450);design.setColumnSpacing(0);design.setLeftMargin(10);design.setRightMargin(10);design.setBottomMargin(5);design.setTopMargin(5);design.setName("RelatorioGraficoSimilaridade");JRDesignBandtitulo=newJRDesignBand();titulo.setHeight(35);JRDesignStaticTextstaticText=newJRDesignStaticText();staticText.setX(75);staticText.setY(5);staticText.setWidth(310);staticText.setHeight(25);staticText.setFontName("Tahoma");staticText.setPdfFontName("Helvetica-Bold");staticText.setFontSize(18);staticText.setBold(true);staticText.setHorizontalAlignment(HorizontalAlignEnum.CENTER);staticText.setText("Relatório Grafico Similaridade");titulo.addElement(staticText);design.setTitle(titulo);JRDesignBandcolunaCabecalho=newJRDesignBand();JRDesignBanddetalhe=newJRDesignBand();Integertop=10;IntegerheigthDetalhe=200;for(inti=0; i < freesCharts.size(); i++) {JRDesignParameterparametro=newJRDesignParameter();StringnomeParametro=i+"imagem";parametro.setName(nomeParametro);parametro.setValueClass(java.awt.Image.class);design.addParameter(parametro);JRDesignImageimage=newJRDesignImage(design);image.setX(115);image.setY(top);image.setHeight(175);image.setWidth(240);JRDesignExpressionexpression=newJRDesignExpression();expression.setValueClass(Image.class);expression.setText("$P{"+nomeParametro+"}");image.setExpression(expression);top=top+190;heigthDetalhe=heigthDetalhe+200;detalhe.setHeight(heigthDetalhe);detalhe.addElement(image);}
design.setColumnHeader(colunaCabecalho);design.setDetail(detalhe);returndesign;}
Eu não sei quantas imagens eu vou colocar no relatório, assim tenho que inserir varias e ir aumentado o top da imagem e o heigth da band detalhe o problema é que a band detalhe só vai até uma certa quantia, ai gera o ERRO :
furutani enquanto o datasoruce vazia, depois vou verificar ve se existe alguma forma programatica de fazer isto.
Obrigado
R
raf4ever
erickfm8:
Amigo eu não estou usando o IReport, estou usando o JasperReport, estou criando o relatório dinamicamente, estou criando o XML dinamicamente pelo java, assim não existe esta opção.
Obrigado
Mas qual a vantagem disso?
E
erickfm8
Não existe vantagem, é que muitas vezes agente PRECISA fazer isto, veja meu exemplo.
Eu não sei quantas imagens eu vou colocar no relatório isto so vai ser resolvido em tempo de execução, assim sou OBRIGADO a criar sua imagens em tempo de execução.
R
raf4ever
erickfm8:
Não existe vantagem, é que muitas vezes agente PRECISA fazer isto, veja meu exemplo.
Eu não sei quantas imagens eu vou colocar no relatório isto so vai ser resolvido em tempo de execução, assim sou OBRIGADO a criar sua imagens em tempo de execução.
Entendi.Não havia lido o requisito direito
Acho que pra não exceder o tamanho da banda detalhe vc vai ter que usar sub-relatórios
F
furutani
Olá
EU acho que no seu caso era possível trabalhar sem ser dinâmico. Bastava por a imagem na band details e passar as imagens como datasource, que o próprio jasper fazia a paginação conforme a quantidade de imagens no datasource.
Mas desse jeito que você está fazendo funciona, mas vai ter um trampinho para ajustar o tamanho do relatório
C
cristianrm
Olá estou precisando fazer alguns relatórios dinamicamente, mas no meu caso eu preciso passar via parametros, pelo o que entendi preciso adicionar a classe
JasperDesign no iReport e criar os parâmetros, alguem ja conseguiu fazer o iReport enxergar essa classe?