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.
R
Rodrigo_Marden
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
darlan_machado
Entendi.
Nunca usei table, sempre preferi usar fields.
R
Rodrigo_Marden
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.
darlan_machado
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.
R
Rodrigo_Marden
Consegui resolver.
No relatório eu defini a flag Float Column Footer como true e ficou da forma que eu gostaria.
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.
darlan_machado
Meu, que bagunça.
Você está usando o que no front? Alguma coisa de javascript? Mesmo que nativo, com javascript você resolve isso rapidinho.
R
Rodrigo_Marden
Utilizando primefaces.
Porque bagunça?
darlan_machado
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.
R
Rodrigo_Marden
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.