JasperReport - Sub-relatórios

16 respostas
L
Tenho um relatório e dentro desse relatório possuo um sub-relatório. O visual do meu relatório está assim :
codigo     pessoa      endereco     bairro 
-------------------------------------------------
-------------------------------------------------
Entre essas linhas pontilhadas está o objeto sub-relatorio que contem varias linhas. Agora, o problema se dá quando o número de colunas aumenta e não cabem na mesma linha. E se eu fizer algo do tipo:
codigo     pessoa      endereco     bairro     grupo     idade


Sexo     LocalDeTrabalho
Como vou colocar meu objeto sub-relatorio para que os campos acima sejam preenchidos de maneira correta, uma vez que eles podem possuir várias linhas ??

valeu !!!

16 Respostas

_fs

Nesses casos eu coloco o subrelatório num group.

L

Poderia explicar melhor ??

D

Se nao me engano, isso irá ocasionar problemas porque o subreport só expande verticalmente.

Eu tentaria criar varia colunas no subreport e mudaria o printorder para horizontal.

Nao sei se é isso que voce quer, pois nao entendi direito seu problema.
Explique melhor que poderemos te dar uma resposta melhor

L

Delano:

Se nao me engano, isso irá ocasionar problemas porque o subreport só expande verticalmente.
Eu tentaria criar varia colunas no subreport e mudaria o printorder para horizontal.
Nao sei se é isso que voce quer, pois nao entendi direito seu problema.
Explique melhor que poderemos te dar uma resposta melhor

O problema é quando o númeo de colunas não cabem numa mesma linha. Tipo assim, tradicionalmente a gente faz assim : Coloca os nomes das colunas e logo abaixo o sub-relatorio que sairá colocando nome abaixo de nome. O meu problema é que não posso colocar os nomes das colunas numa mesma linha, pois a quantidade é grande. Agora se eu colocar o nome de coluna abaixo de outro nome de coluna, não tem como eu iserir o objeto sub-relatorio.

Entendeu ?

D

Lindeberg:
Delano:

Se nao me engano, isso irá ocasionar problemas porque o subreport só expande verticalmente.
Eu tentaria criar varia colunas no subreport e mudaria o printorder para horizontal.
Nao sei se é isso que voce quer, pois nao entendi direito seu problema.
Explique melhor que poderemos te dar uma resposta melhor

O problema é quando o númeo de colunas não cabem numa mesma linha. Tipo assim, tradicionalmente a gente faz assim : Coloca os nomes das colunas e logo abaixo o sub-relatorio que sairá colocando nome abaixo de nome. O meu problema é que não posso colocar os nomes das colunas numa mesma linha, pois a quantidade é grande. Agora se eu colocar o nome de coluna abaixo de outro nome de coluna, não tem como eu iserir o objeto sub-relatorio.

Entendeu ?


Porque nao coloca o nome das colunas dentro do subreport?

L

Delano:

Porque nao coloca o nome das colunas dentro do subreport?

O nome das colunas já estão dentro do subreport !!! O negocío é que é uma grande quantidade de colunas e elas não poderam ficar numa mesma linha !!!

D

Lindeberg:
Delano:

Porque nao coloca o nome das colunas dentro do subreport?

O nome das colunas já estão dentro do subreport !!! O negocío é que é uma grande quantidade de colunas e elas não poderam ficar numa mesma linha !!!

Nao tou conseguindo achar alguma solução simples para seu problema.

Nao teria como agrupar os dados por coluna da tabela?
Dessa maneira voce poderia criar um grupo para cada coluna da tabela e criar varia colunas no subreport e mandar imprimir horizontalmente.
Deve existir alguma outra maneira, ams nunca passei por isso e nao sei te dar outra solucao

L

Delano:

Nao teria como agrupar os dados por coluna da tabela?
Dessa maneira voce poderia criar um grupo para cada coluna da tabela e criar varia colunas no subreport e mandar imprimir horizontalmente.
Deve existir alguma outra maneira, ams nunca passei por isso e nao sei te dar outra solucao

Tava tentando fazer isso, no entanto surgiu o seguinte problema : Se eu colocar o subreport dentro do grupo ele vai imprimir apenas um nome, quando na verdade esse subreport retorna vários elementos

D

Lindeberg:
Delano:

Nao teria como agrupar os dados por coluna da tabela?
Dessa maneira voce poderia criar um grupo para cada coluna da tabela e criar varia colunas no subreport e mandar imprimir horizontalmente.
Deve existir alguma outra maneira, ams nunca passei por isso e nao sei te dar outra solucao

Tava tentando fazer isso, no entanto surgiu o seguinte problema : Se eu colocar o subreport dentro do grupo ele vai imprimir apenas um nome, quando na verdade esse subreport retorna vários elementos

Eu vejo duas solucoes para seu problema:
Coloque o grupo dentro do subreport e mande ele imprimir da maneira que eu te falei e nao esqueça que o subreport deve ter o tamanho ajustado paar caber no relatorio principal.
Outra solução seria fazer com que o subreport sem grupos, recebendo um parametro (nome da coluna???) de modo que ele imprima apenas o nome da coluna e os elementos dessa coluna. Depois voce teria que dividir o relatorio principal em varias colunas e colocar um grupo por nome de colunas, chamando o subreport e passando o noem da coluna como parametro

L

Delano, vou dá uma explicada melhor no meu problema talvez se vc compreender bem possa me ajudar !!
Imagine uma JTable com 10 colunas , com seus devidos nomes de colunas e suas linhas tudo bem organizado !! blz ?? Agora, eu quero pegar essa JTable e gerar um relatorio COM AS MESMAS INFORMAÇÕES E DO MESMO JEITO DESSA JTABLE (igualzinho a JTable). No entanto, ao ir colocando os nomes das colunas da JTable no relatorio , percebi que 10 colunas não é possível colocar numa mesma linha. Meu problema é esse !!! Vamos supor que coubesse 7 colunas numa mesma linha, as outras 3 linhas que restaram vão para onde ?? Estava querendo colocar embaixo das colunas 1,2,3 , mas não vai dá muito certo, pois eu naõ sei o tamanho vertical das colunas 1,2,3.

Entendeu o meu problema ??

D

Lindeberg:
Delano, vou dá uma explicada melhor no meu problema talvez se vc compreender bem possa me ajudar !!
Imagine uma JTable com 10 colunas , com seus devidos nomes de colunas e suas linhas tudo bem organizado !! blz ?? Agora, eu quero pegar essa JTable e gerar um relatorio COM AS MESMAS INFORMAÇÕES E DO MESMO JEITO DESSA JTABLE (igualzinho a JTable). No entanto, ao ir colocando os nomes das colunas da JTable no relatorio , percebi que 10 colunas não é possível colocar numa mesma linha. Meu problema é esse !!! Vamos supor que coubesse 7 colunas numa mesma linha, as outras 3 linhas que restaram vão para onde ?? Estava querendo colocar embaixo das colunas 1,2,3 , mas não vai dá muito certo, pois eu naõ sei o tamanho vertical das colunas 1,2,3.

Entendeu o meu problema ??

Sim, eu ja tinha entendido o seu problema.
Crie varias colunas no detail, e coloque um elemento no detail da primeira coluna e mude o o modo de impressao para horizontal, ele fará exatamente isso.
Ele irá preencher coluna por coluna, da esquerda para a direita e quando chegar ao fim do lado direito do relatorio, ele continuará na primeira coluna da esquerda, logo abaixo dos elementos impressos da primeira coluna.
Exemplo tosco:

| col 1 || col 2 || col 3 || col 4 || col 5 || col 6 |

| val1 || val2 || val3 || val4 || val5 || val6 |
| val1 || val2 || val3 || val4 || val5 || val6 |
| val1 || val2 || val3 || val4 || val5 || val6 |
| val1 || val2 || val3 || val4 || val5 || val6 |

| col 7 || col 8 || col 9 || |

| val7 || val8 || val9 || |
| val7 || val8 || val9 || |
| val7 || val8 || val9 || |
| val7 || val8 || val9 || |

L

Cara, é exatamente isso que eu quero, valeu !!!

vou testar !!

finger

Você já tentou colocar a página como paisagem?

Talvez ajude a ter espaço para todas as colunas.

finger

Você já tentou colocar a página como paisagem?

Talvez ajude a ter espaço para todas as colunas.

finger

Você já tentou colocar a página como paisagem?

Talvez ajude a ter espaço para todas as colunas.

finger

Você já tentou colocar a página como paisagem?

Talvez ajude a ter espaço para todas as colunas.

Criado 20 de janeiro de 2005
Ultima resposta 27 de set. de 2007
Respostas 16
Participantes 4