Aguem pode me ajudar. Estou craindo um realtorio bem simples no ireport. O relatório mestre contêm alguns campos estáticos e um subreport. O Subreport possui somente texto estático. Quanto o relatório (mestre) é executado os campos estáticos do subrelatório não aparecem.
O campo Subreport Expression foi preenchido com o caminho do subreport. Só aparece os dados do relatório mestre. Será isso um bug do iReport.
SubReport no IReport
26 Respostas
Coloque o tamanho(dimensões) do seu subreport menor do que o seu relatório mestre.
[]'s
Coloquei e não funcionou.
Você está passando um parâmetro com o nome do arquivo do subreport ? Vc precisa setar ele no parameters do mestre e do subreport.
Sim já fiz isso tanto no mestre como no subrelatorio.
Estou executando o relatorio mestre pelo botão Executar Relatório Usando Fonte de dados Vazia. Era pra mostra a estrutura do relatório vázia ou não certo?
Dáh uma olhada nesse exemplo, vê c te ajuda em alguma coisa.
[]'s
Qual é a versão do iReport que usou pois estes arquivo que enviou não querem abrir na versão 0.4
Os arquivos que mandou estão corrompidos.
utilizo a versão 0.4.0
Estou executando o relatorio mestre pelo botão Executar Relatório Usando Fonte de dados Vazia. Era pra mostra a estrutura do relatório vázia ou não certo?
Faça um select bobo no “report query”, pode ser algo assim “select sysdate from dual”(no Oracle) e tente rodar!!!
São estes meus dois arquivos exemplos
eu nunca utilizo o ireport para compilação e execução, ele gera muitos arquivos desnecessários que geram erros depois, eu utilizo o ant p/ compilação, e a passagem de valores utilizo na forma de uma List contendo mapas ou Beans com as informações.
vc pode retirar o parâmetro nomeDoSubreport no seu subreport,
já retirei do subReport
No meu caso só quero visualizar a estrutura do relatório mestre com o subreport antes de anexar os dados.
Se seu subreport não possuir dados para exibir nos detalhes, creio que ele não irá aparecer.
hmichel, acho que vc pode responder isso
.
HorseSteel
Pode você enviar os arquivos novamente? Pois eles não estão completos. Deste modo usarei eles como teste do sub relatório.
fabriciogiordani
Mas neste caso Fabricio, eu creio que deveria aparecer no relatório mestre “null”. Suponha que tenha um subrelatorio que é uma tabela se a tabela estiver vazia o nome das colunas deveriam aparecer no relatório mestre.
Fiz um teste com dados no subrelatório e também não apareceu no mestre.
Se mando executar usando uma conexão o retorno é “The document has no page”. Quando na verdade eu mando executar só o subReport e é mostrado seis paginas.
Olá, o problema a que o giordani se refere, é que, por exemplo, um determinado subrelatório exibe alguns dados, mas quando informado o datasource para popular este subrelatorio, este datasource é vazio, ai o relatorio não é exibido.
:arrow: Por que? Vá no iReport, menu View, report Properties, aba More…, a opção When no data: está no pages, ai ele nao exibe o subrelatorio.
:arrow: Solução testada: Inserir como datasource, em alguns casos, uma collection com um dado qualquer, para o detail ser exibido ao menos uma vez. Talvez não seja o seu problema, mas tive esta limitação, e resolvi assim.
Uma outra solução, mas não testei, eh trabahar com os dados da opção When no data.
[]'s
hmichel
Ok, quanto a pagina a ser exibida. Troquei no When no data.
Quanto a segunda sugestão, inclui um subreport que esta usando uma conexão, Consigo gerar ele sozinho com os dados. Mas quando executo o mestre que contêm o subrelatorio os dados não são mostrados. Quando na verdade o sub relatório não esta vazio. E o dados deveriam aparecer na band Detail do relatório mestre.
Ok, Agora consegui.
coloquei um SQL no consult Query do relatório mestre e ele mostrou o subrelatório na band detail.
Pergunta, Porque eu não consigo visualizar a partir do mestre um subrelatorio que so tem campos estáticos?
O problema, pode ser, talvez, como citado acima. O detail do relatório pai pode não conter dados, então ele não itera o detail nenhuma vez, mas isto é apenas suposição.
[]´s
Valeu, pelas informações já consegui resolver.
Soh para complementar, pode-se então passar, um datasource chamado JREmptyDataSource, que nada mais é que um data source com apenas uma linha.
[]´s