Condição SubRelatorio Ireport Java

7 respostas
BobCycler

Bom Dia, gostaria de saber como criar uma condição dentro de um subrelatório no IReport para alterar o caminho para a chamada de outro subRelatório.
Exemplo:
Tenho um relatório principal somente com o cabeçalho que chama cinco subrelatórios. Como no exemplo abaixo:

Mas desta forma ao imprimir na sequencia deixa um espaço entre o cabeçalho e os Subrelatórios a partir do segundo sub. Correspondente ao espaço ocupado pelo Sub anterior.

Gostaria de saber se há uma forma de dentro de uma unica alias SubReport chamar diferentes relatório de acordo com a condição.
Ex.:

Chamada

RelatorioDisciplinaDataSource disciplinaDS = new RelatorioDisciplinaDataSource(vetorTodaInscricaoTO); RelatorioAgendaDataSource agendaDS = new RelatorioAgendaDataSource(listaAgenda); RelatorioAvaliacaoDataSource avaliacaoDS = new RelatorioAvaliacaoDataSource(listaAvaliacao); RelatorioComentarioDataSource comentarioDS = new RelatorioComentarioDataSource(listaComentario); RelatorioAtividadeDataSource atividadeDS = new RelatorioAtividadeDataSource(listaAtividade);

URL subRelatorioPresenca = Academico.getInstance().getRecursoUrl("SubPautaPresenca.jasper"); URL subRelatorioAgenda = Academico.getInstance().getRecursoUrl("SubPautaAgenda.jasper"); URL subRelatorioAvaliacao = Academico.getInstance().getRecursoUrl("SubPautaAvaliacao.jasper"); URL subRelatorioComentario = Academico.getInstance().getRecursoUrl("SubPautaComentario.jasper"); URL subRelatorioAtividade = Academico.getInstance().getRecursoUrl("SubPautaAtividade.jasper");

param.setParametro("caminhoSubRelatorioAgenda", subRelatorioAgenda.toString()); param.setParametro("caminhoSubRelatorioAvaliacao", subRelatorioAvaliacao.toString()); param.setParametro("caminhoSubRelatorioPresenca", subRelatorioPresenca.toString()); param.setParametro("caminhoSubRelatorioComentario", subRelatorioComentario.toString()); param.setParametro("caminhoSubRelatorioAtividade", subRelatorioAtividade.toString()); param.setParametro("listaAgenda", agendaDS); param.setParametro("listaAvaliacao", avaliacaoDS); param.setParametro("listaPresenca", disciplinaDS); param.setParametro("listaComentario", comentarioDS); param.setParametro("listaAtividade", atividadeDS);

7 Respostas

L

Bom nao sei se entendi bem,mas se este espaco e deixado qdo o 1º sub nao tem dados,e so criar uma espressao para a banda,onde so exiba ela qdo o sub tiver registros.

BobCycler

Ta, mas não entendi, como eu crio esta expressão, cada sub está em um grupo, mas não vejo nenhuma expressão de exibir grupo.
E se isto que você quer dizer funfar. Será como se a banda anterior não existice (altura da banda 0) ou só vai ocultar os dados dentro dela ??

ManoJava

Clica com botão direito do mouse em cima do sub e altera essa propriedade, e a banda continuará ai, só as linhas que não serão exibidas.

Att.

BobCycler

É, mas não atinge o objetivo, que é não deixar a banda.

L

Cara eu faco assim:
clicocom o direito no rel,vou em propriedades da banda e na caixa exibir quando coloco minha expresao Booleana,daew ele nao exibe a banda de acordo com o resultado da expressao.

BobCycler

lgweb e ManoJava

Obrigado, é isso mesmo que eu estava querendo, é que eu não tinha visto a opção
Uma semana de carnaval resolve muito as coisas ^^
já estava fritando.

ManoJava

Ok se precisar é só perguntar.

Att.

Criado 11 de fevereiro de 2010
Ultima resposta 18 de fev. de 2010
Respostas 7
Participantes 3