java - Detalhes do relatório não são exibidos - Stack Overflow em Português
Montei um relatório no Jasper Studio 5.6.0, e importei o meu arquivo *.jrxml gerado para o IDE onde estou desenvolvendo, porém tudo que é colocado na sessão "Details" do relatório simplesmente não aparece, mesmo sendo apenas um texto simples e fixo fica em branco, porém na "preview" do jasper studio ele aparece normalmente configurei assim o relatório:
Não faço ideia de o que pode estar causando isso, por exemplo, se eu coloco o conteúdo na aba "Title" tudo é exibido corretamente.
editada 4/08/17 às 17:49
Antes de responder me esclareça umas coisas: o que você quer no details vem de uma query? Qual seu datasource? – Gustavo Fragoso 5/08/17 às 2:17
Eu tentei com querys (E quando testei no preview do JasperStudio exibiu direitinho) e tentei colocar um Texto Estático (Que no preview também funcionou) mas quando vou gerar o relatório, o arquivo PDF exibe tudo menos o conteúdo da aba details – R.Santos 7/08/17 às 11:05
Vou mostrar como contruir um relatório JasperReports do zero, já que não se sabe qual é exatamente o problema.
No JasperReport Studio 5.6.0:
Primeira coisa é definir o Data Adapter, clicando em "Data Adapters > Create New Data Adapter"
Neste exemplo vou usar o Database JDBC Connection, mas ai o desenvolvedor escolhe e preenche os dados. Deve-se testar a conexão e ver se retorna "Sucessful".
Em seguida você vai no DataSet and Query editor dialog:
Selecione seu Data Adapter no canto superior esquerdo e cole sua query no lado direito. Veja se todos os campos aparecem no menu abaixo (Normalmente é automático). Isso ficará na aba "Fields".
Voltando para o design do seu relatório (figura 2), na seção "Detail", os campos que serão recebidos do DB devem ser colocados em um TextField e sua expressão deve ter o seguinte formato: $F{nomedocampo} (Figura 4 - Lado direito), sendo a tag $P{nomedocampo} para parâmetros. Os parâmetros devem ser colocados pelo desenvolvedor antes da geração do relatório (inclusive no preview). Para criar um novo parâmetro vá no menu "Outline (campo inferior esquerdo) > Parameters > Create parameter". (Figura 4 - Lado esquerdo)
Ao clicar em "Preview" para verificar se tudo é exibido corretamente seu arquivo .jasper será gerado automaticamente.
// Gerando um relatório com parâmetros
params.put("nomeParametro", inputDoParametro);
URL arquivo = getClass().getResource("/com/seuprograma/seupackage/relatorio.jasper");
JasperReport jreport = (JasperReport) JRLoader.loadObject(arquivo);
JasperPrint jprint = JasperFillManager.fillReport(jreport, params, JDBCconnection);
// Gerando o pdf
JasperExportManager.exportReportToPdfFile(jprint, file.getPath());
Relatório sem parâmetros:
JasperPrint jprint = JasperFillManager.fillReport(jreport, null, JDBCconnection);
Este procedimento foi testado com um banco de dados SQLITE, usando o JDBC sqlite-jdbc-3.19.3, java 8 e jasperstudio 5.6.0/ireports 5.6.0. Libs usadas:
editada 7/08/17 às 15:18
Muito Obrigado pela sua resposta, funcionou como eu precisava – R.Santos 8/08/17 às 11:08
será que você consegue em ajudar nisso, as vezes quando executo meu processo na hora de gerar o relatório o seguinte erro é exibido nos logs: net.sf.jasperreports.engine.util.JRFontNotFoundException: Font ' net/sf/jasperreports/fonts/pictonic/pictonic.ttf net/sf/jasperreports/fonts/pictonic/pictonic.svg net/sf/jasperreports/fonts/pictonic/pictonic.eot net/sf/jasperreports/fonts/pictonic/pictonic.woff ' is not available to the JVM. See the Javadoc for more details. Porém as vezes simplesmente funciona normalmente – R.Santos 8/08/17 às 11:12
Quando se usa uma fonte que não é padrão o JasperReports recomenda que você adicione um Font Extension, basicamente colocar essa fonte em um .jar. Mais informações aqui: community.jaspersoft.com/wiki/custom-font-font-extension – Gustavo Fragoso 8/08/17 às 13:02
Mas eu estou usando a fonte arial, essa não seria necessário adicionar pois é uma fonte nativa né? – R.Santos 9/08/17 às 11:01
Eu até tentei adicionar o arquivo da fonte arial no projeto do jasper mas mesmo assim o mesmo erro foi acusado< tem algo que eu precise fazer depois disso? – R.Santos 9/08/17 às 11:22
Esta não é a resposta que você está procurando? Pesquise outras perguntas com a tag java jasper-reports jasper ou faça sua própria pergunta.