Como dissemos na parte 1 deste artigo, o JasperStudio é uma ferrementa visual que agiliza a criação de relatórios, de outra forma, teríamos que criar o arquivo jrxml na mão. Caso não tenha o JasperStudio instalado, você pode baixá-lo aqui.
Abra o JasperStudio. Clique com o botão direito do mouse em MyReports/New/Jasper Report:
Escolha Blank A4. Depois Next. Dê o nome do relatório de relatorioFuncionarios e clique em Finish:
Após criar o relatório, você terá a seguinte tela:
O painel Pallete à direita representa os componentes que você pode arrastar e colocar no relatório (textos estáticos, linhas, imagens, campos de texto, imagens, subrelatórios, etc.).
No painel Outline a esquerda, você tem os Fields, cujos nomes devem coincidir com os atributos da classe RelatorioFuncionariosBean.java, portanto, é através dos elementos Field que o JasperReport saberá quais métodos ele deve chamar na classe java para preencher os campos dinâmicos do relatório. Ainda no painel Outiline, temos o item Parameters que representa parâmetros dinâmicos que acrescentamos no relatório em tempo de execução utilizando java.util.Map (nome do parâmetro/valor do parâmetro).
Clique com o botão direito no item Parameters e escolha a opção Create Parameter. No painel Properties à direita aparece as propriedades do parâmetro que você criou, cujo nome padrão é Parameter1. Dê o nome a esse parâmetro de FuncionariosDataSource e em class coloque net.sf.jasperreports.engine.data.JRBeanCollectionDataSource.
Da mesma forma, crie outro parâmetro chamado LOGOMARCA e defina o tipo da classe para java.io.InputStream.
Repare que o relatório é divido em bandas, cujos nomes são auto-explicativos, com exceção da banda Detail 1 que pode ser usada para campos cujo tipo estende java.util.Collection.
Se o seu data source tem campos que extendem a interface java.util.Colleciton, então você pode exibí-los no seu relatório utilizando os elementos Subreport, Table ou List do painel Palette. No nosso caso utilizarema a Table para exibir os funcionários.
Adiconado Table no Relatório
No painel Outline clique com o botão direito do mouse em cada banda e delete-a. Com exceção de Detal1 e Title. Ele vai ficar como segue:
No painel Palette ache o elemento Table e adicione-o na banda Detail1. No assitente Dataset que vai aparecer escolha a opção Create Table using a new dataset e Next:
Em seguida escolha a opção Create an empty dataset e dê o nome para o seu dataset de TabelaFuncionarios e Next:
Na janela Connection, marque a opção Use JRDataSource expression.
Clique no botão assitente, localizado à direita, para abrir o ExpressionEditor. No painel esquerdo selecione parameters e no painel do meio ache o parametro que você criou FuncionariosDatasource, dê duplo clique nele e Finish. Depois Finish de novo na janela connection.
O elelemento Tabela aparece no seu relatório. Precisamos de uma tablea com apenas duas colunas, nome e cpf do funcionário, não será necessário cabeçalhos nem rodapé. Para editar seu formato, dê uma duplo clique na tabela. Vamos deixá-la com duas colunas e uma linha, excluindo as demais.
Repare que a tabela também possui bandas, assim como o relatório principal. Mas só vamos precisar da banda detail e column header. Clique com o botão direito nas demais e delete-as. Crie mais uma coluna na tabela. No painel Palette localize o elemento lable static e adicione um em cada coluna.
No painel Outline, clique com o botão direito do mouse no item fields e adicione um campo nome e outro cpf, ambos do tipo String. Após criá-los, arraste-os na repsectiva linha da tabela.
Clique no botão main report e volte para a perspectiva do relatório inteiro. Assim como você criou os campos cpf e nome do funcionario, crie mais dois campos para representar o nome e o cnpj da empresa e arraste-os para a banda title do relatório, associe também os respectivos static labels para esses campos. Arraste tabem um componente Image para representar a logomarca da empresa.
Agora, nas propeidades do componente Image, em Expression, coloque o parâmetro LOGOMARCA, como $P{LOGOMARCA}.
Pronto. Salve e compile o relatório. O JasperStudio vai gerar o arquivo relatorioFuncionarios.jasper na pasta do seu projeto na aba Project Explorer à esquerda. Copie esse arquivo e cole-o no pacote relatorios do seu projeto no eclipse.
Execute o projeto e gere o relatório:
No comments:
Post a Comment