Dúvida quanto a criação de relatório com ireport

Boa tarde,

Estou criando um relatório que irá receber uma lista e exibir, o que me deixa confuso é que todos os tópicos falam de se criar um sub-relatório para fazer tal tarefa, mas no meu caso eu preciso apenas exibir essa lista e nenhum outro dado, se faz necessário mesmo criar um sub-relatório no meu caso?

(O relatório também irá ter um título e um rodapé, claro)

Não precisa.
Fica tranquilo.
É só criar um field correspondendo a cada atributo do objeto que preencherá a lista e colocar os mesmos na banda detail do teu relatório.

1 curtida

Eu estou tentando usar o componente Table do jasperStudio, e nele é necessário criar um dataSet.

Eu estou tentando deixar nulo e utilizar apenas os fields com o nome dos atributos do objeto mas não está recebendo nada :confused:

Entendi.
Nunca usei table, sempre preferi usar fields.

Eu tentei fazer com os fields, criei um monte de frames pra simular uma tabela,
Coloquei os fields no detail, só que a página fica pequena dependendo da quantidade de dados, o pagefooter fica lá em cima e não no fim da página como deveria ficar,

Entende?

Ai eu achei que poderia solucionar isso com o table, já que o detail iria ficar do tamanho da página e a table que iria aumentar e diminuir.

Isso tudo são configurações que você pode definir.
Veja que, clicando em uma banda, você pode ajustar várias propriedades, entre elas, a distância entre o topo da página e o início da banda, margens, etc.

Consegui resolver.

No relatório eu defini a flag Float Column Footer como true e ficou da forma que eu gostaria.

@darlan_machado, Estou com um outro problema relacionado

O relatório está gerando normalmente, mas estou com o seguinte problema.

O botão que gera o relatório é o mesmo que salva os items no banco de dados, então eu precisava que esse relatório fosse gerado em uma nova guia, como é um button adicionei o seguinte: onclick=“this.form.target=’_blank’”

Ok, está funcionando e gerando o relatório em uma nova guia e salvando os dados no BD, mas a página original do button fica lá parada, não retorna a resposta para o usuário e nem limpa os campos como deveria por eu ter setado o target como blank.

Existe alguma outra forma de se fazer gerar o relatório em uma nova guia? Pois só achei essa pesquisando.

Meu, que bagunça.
Você está usando o que no front? Alguma coisa de javascript? Mesmo que nativo, com javascript você resolve isso rapidinho.

Utilizando primefaces.

Porque bagunça?

Não leve a mal, mas, eu sou totalmente contra você colocar mais de uma ação em um botão. Foi a isso que me referi.
Entendo que é uma decisão de alguém que achou isso uma boa ideia, mas, eu, particularmente, não concordo.
De qualquer maneira, seria interessante que você respondesse a questão que coloquei sobre o que usa no front.

Estou utilizando JSF(primefaces), não seria isso?

Eu devo gerar um formulário do que está sendo cadastrado naquele momento no BD, o button está chamando apenas uma ação no front, o insert e a geração está sendo feita no back, não sei se teria outra forma de se fazer isso, já que eu devo amarrar a geração do relatório ao salvamento dos dados, não deixando a cargo do usuário gerar ou não.