Criei um relatório IReport, sendo que minha query retorna apenas 5 linhas, mas quero que o meu relatório retorne fixo 24 linhas. A quantidade de linhas retornada pela minha query não é fiza, ou seja, ela pode retornar até 24, mas quando retornar menos que 24 linhas, gostaria que ele imprimisse o restante de linhas em branco até completar as 24 linhas.
uma dúvida quanto a esta sua pergunta…
Você está querendo retornar 24 para que o layout do relatório não altera no caso de retornar menos que 24 linhas?
Pois tem uma opção no IReport que vc pode estar inserindo o restante do relatório em outro campo (tipo page footer) fixando ele no rodapé da página sendo assim este fica fixo indiferente do tamanho da tabela gerada no detail…
Neste meu caso não podia ser no page footer, tinha que ser no detail mesmo.
Resolvi forçando minha query retornar 24 linhas exatas. Só vi esta solução. Pelo menos resolvi depois de 2 dias batendo a cabeça.
Tinha que ser no detail pq o subrelatório que tinha que retornar as 24 linhas está dividido em 3 colunas, ou seja, se a minha query retornar 5 linhas, ela iria preencher a primeira linha, e 2 colunas da segunda linha, ficando então 1 coluna em branco. Para preencher essa 1 coluna que sobrou, eu tive que forçar a minha query a retornar as 24 linhas usando um union.
Talvez uma solução seria colocar o modelo na banda background e deixar o detail do mesmo tamanho de uma linha desse modelo hehe
Como você forçou os 24 retornos da query? Com union forçado?
Para mudar para resolvido, você precisa editar o primeiro post e mudar o título dele, colocando [RESOLVIDO] no início xD
Forcei com o union mesmo. no select de cima coloquei o que queria retornar mesmo, no select de baixo do union coloquei uma tabela que tem as 24 linhas e coloquei rownum <= (24 - [quantidade de linhas retornadas no select de cima, pra isso tive que fazer o select de cima aqui novamente])