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
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.
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.