oi pessoal ,
sou novato , estou com dificuldades pra trabalhar com subrelatórios no ireport .
alguma dica ?
oi pessoal ,
sou novato , estou com dificuldades pra trabalhar com subrelatórios no ireport .
alguma dica ?
Leia e tente fazer os exemplos de algum tutorial.
http://www.guj.com.br/java.tutorial.artigo.151.1.guj
http://www.furutani.eti.br/tutoriais/Tutorial_Sub_Relatorio_ArrayList.pdf
li , nao consigo abstrair direito , preciso criar um subrelatorio simples a partir de uma factory com uma lista de objetos , sempre quando peço pra executar ele pede parametros , nao tenho ideia do que seja
deixei um printscreen da tela em anexo
Bom…vamos lá…
Quando voce cria um subrelatorio, é um arquivo jasper diferente do relatorio pai.
na imagem que vc passou ele esta pedindo o endereço deste arquivo .jasper que seria o seu subrelatorio.
este seria o parametro que vc precisa passar. O endereco do seu subrelatorio.
SUBREPORT_DIR
Deu para fixar?? qualquer coisa estamos aí…
eu criei dois relatorios ,
cada um utiliza da mesma base de dados . quando ele passa o parametro quando vai executar eu informo somente o nome do arquivo *.jasper ou caminho completo desde a raiz com aspas “/” de nenhuma forma funciona .
so funciona quando nao coloco parametro algum , so que ai ele nao exibe o conteudo do subrelatorio
O seu problema deve estar na passagem do parametro com o caminho. Da uma olhada na aba Subreport(Other) em Subreport Expression e voce pode ver que a variavel SUBREPORT_DIR recebera o caminho do arquivo .jasper.
ficaria assim:
$P{SUBREPORT_DIR} + "RelatorioGerencial_subreport0.jasper"
Exemplo:
C:/Relatorios/Relatorio_subreport0.jasper
Verifique se vc esta passando o caminho correto.
Nao se esqueca que no seu codigo vc tem que passar uma variavel com o mesmo nome SUBREPORT_DIR contendo o caminho
coloquei o caminho inteiro como mostra a figura quando eu executa ele so exibe do relatorio principal
voce esta passando o parametro fixo…
tente assim:
segui a orientação nao consegui
vo ditar os passos que eu to fazendo , talvez seja um erro no processo
abro o ireport , arquivo , Novo Documento
nomeio o relatorio de :“relatorio1” clico em ok
salvo o arquivo como : “relatorio1.jrxml”
escolho uma factory(ja preconfigurada , estou trabalhando com javabeans)
adiciono os atributos do meu bean
arrastos os atributos que estao na aba do lado (item campos) para a banda detail
e testo o relatório
funciona normal .
Parte2 (colocar o subrelatorio) - aqui esta o meu problema
clico no botão acima - “subrelatorio”
escolho a opção - “usando um relatório existente”
relatorio2.jrxml (este e um relatorio somente com um campo texto estatico)
Próximo >
deixo a opção : “Utilizando a mesma conexão utilizada para preencher o relatorio…”
Próximo >
deixo a opção : “Armazenar o nome do diretório em um parâmetro”
$P{SUBREPORT_DIR} + “relatorio.jasper”
OK
aparece meu sub-relatorio dentro de “detail”
mando executa e da bug
alguma dica ?
amigo, tem um tutorial no site www.furutani.eti.br que vai te ajudar. O nome do tutorial é “Mini-Tutorial Relatorios Java JasperReports e iReport”, muito explicativo e facil de entender. dá uma olhadinha nele…
[]'s
galera to com um problema semelhante, nas propriedades do subrelatorio, passo o parametro $P{REPORT_CONNECTION}, nas propriedades do subrelatorio (outro) tenho o parametro $P{SUBREPORT_FILE_NAME}, o qual esta preenchido com o caminho do subrelatorio.jasper no relatorio principal “C:\Arquivos de programas\JasperSoft\iReport-2.0.5\subrelatorio_empenhos.jasper”
é o primeiro relatório com subrelatorio que estou tentando gerar, porem ao executar utilizando a conexão ativa (banco de dados firebird) no console de saída aparece a seguinte mensagem:
“Erro ao preencher impressão … Unable to get next record.
net.sf.jasperreports.engine.JRException: Unable to get next record.
at net.sf.jasperreports.engine.JRResultSetDataSource.next(JRResultSetDataSource.java:99)
at net.sf.jasperreports.engine.fill.JRFillDataset.advanceDataSource(JRFillDataset.java:830) at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:748)
at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1438)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:115) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:895)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:798)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:234)
at it.businesslogic.ireport.IReportCompiler.run(IReportCompiler.java:947)
at java.lang.Thread.run(Unknown Source)
Caused by: org.firebirdsql.jdbc.FBSQLException: The result set is closed
at org.firebirdsql.jdbc.AbstractResultSet.checkCursorMove(AbstractResultSet.java:217)
at org.firebirdsql.jdbc.AbstractResultSet.next(AbstractResultSet.java:249)
at net.sf.jasperreports.engine.JRResultSetDataSource.next(JRResultSetDataSource.java:95)
… 11 more
Impressão não foi preenchida. Tente utilizar uma Fonte de Dados Vazia …”
se alguem puder ajudar …
Tb estou com problema semelhante! Será que não tem ninguém que tenha feito algo parecido???
Eu até mandei e-mail para as meninas da GLOBAL CODE que vi numa ed da Java Magazine, mas elas não responderam nada até o momento… Ou não sabem resolver ou não quiseram me responder :?
Estou com o mesmo problema do amigo MarcosPadilha:
"Erro ao preencher impressão … Unable to get next record.
net.sf.jasperreports.engine.JRException: Unable to get next record. …
é meu primeiro relatorio utilizando sub-relatório… alguem tem uma dica mais direta sobre esse probleminha??
Boa tarde a todos.
Estive o mesmo problema que vocês tiveram para trabalhar com iReport+Firebird.
Não querendo ressucitar o tópico mais é que na busca de resolver o problema sempre via este tópico, então para que os que tiverem o mesmo problema, possa facilitar a busca aqui vai uma modo de como resolvi o problema.
Faça o seguinte
No Ireport ou onde você for criar a conexão com o Firebird adicione isso (?defaultResultSetHoldable=True )
Ficando assim por exemplo:
jdbc:firebirdsql:192.168.21.248/3050:C:/firebirdroot/SisClinica/SISCLINICA_1_0.fdb?defaultResultSetHoldable=True
Pelo que pude perceber em minhas buscas que isto é devido a uma falha do Jaybird.
Bom té mais…
Olá pessoal !!
Sou novato no IREPORT …
Tenho dois relatórios, preciso jogar a os campos de um noutro …
gostaria que me ajudassem com a passagem de parametros …
Tentei como subrelatorio mais não deu certo …
Muito Obrigado pela Atenção …
Qual foi a solucao??? Estou no mesmo dilema…
parece que já somos muitos! Eu tambem gostava de saber a solução.
Cumps, TIago
[quote=saulocamposi]oi pessoal ,
sou novato , estou com dificuldades pra trabalhar com subrelatórios no ireport .
alguma dica ?[/quote]
Bom dia!
Vc setou a propriedade “Expression class” para java.io.File ?
Definiu a “Parameters map Expression” para $P{REPORT_SCRIPTLET}.getHeaderMap() ?
Fez a passagem de parametros do “Master” para o Sub ?
Verifique se estas propriedades estão setadas corretamente.
Att.