Utilizando o componente dxComponentPrinter da DevExpress

Veja neste artigo como criar relatórios rápidos utilizando o componente dxComponentPrinter da biblioteca DevExpress, sem a necessidade de uso de qualquer ferramenta auxiliar como Quick ou Rave Reports.

Quem utiliza a biblioteca DevExpress em suas aplicações, sabe o quão práticos costumam ser seus componentes e o quanto nos ajudam no desenvolvimento de rotinas corriqueiras, como por exemplo a criação de um relatório ou uma tabela de referência cruzada (PivotGrid).

Neste artigo, veremos como utilizar o componente dxComponentPrinter desta biblioteca para agilizar a criação de relatórios simples. Por "relatório simples", entendamos relatórios de listagens, por exemplo, um relatório com a lista de clientes.

Para os exemplos que veremos aqui, utilizarei dois cxGrid’s com alguns dados e botões para impressão (conforme ilustra a Figura 1). O leitor pode configurar os grids da forma como preferir e preenchê-los com quais quer dados.

Figura 1. Aparência inicial da tela de exemplo

Então adicionemos ao form um componente dxComponentPrinter que, por padrão, deve ter o nome dxComponentPrinter1 que será mantido neste artigo.

Criando um relatório de lista simples

Dando dois cliques sobre o dxComponentPrinter1, será exibida uma tela como a da Figura 2, devemos clicar no menu "Add..." e depois na primeira opção ("Add..").

Figura 2. Tela inicial de edição do dxComponentPrinter

Com isso, uma nova tela será mostrada e nela definiremos as primeiras configurações do relatório, conforme vemos na Figura 3.

Figura 3. Criando o novo relatório

Observem que aparecem tanto os grids quanto um panel e o próprio form na lista de "fontes" disponíveis, ou seja, o dxComponentPrinter nos permite criar relatório com quase qualquer coisa existente na tela.

A partir de então, passamos a referenciar este relatório pelo nome "relatorioClientes" (é criado um controle cxComponentPrinterLink que contém, na prática, os dados do relatório).

Tendo definido essas propriedades iniciais, podemos então programar a chamada ao relatório no evento onClick do botão "Clientes". O código para exibir o relatório é mostrado na Listagem 1.

relatorioClientes.Preview();
Listagem 1. Exibindo o primeiro relatório

Mais simples que isso, impossível. O resultado é mostrado na Figura 4.

Figura 4. Primeiro relatório exibido

O relatório possui exatamente a mesma aparência do grid, logo, poderíamos aplicar estilos (skins disponíveis na biblioteca) e melhorar o layout. Outro ponto interessante são as diversas opções na tela de impressão. Existe um menu estilo ribbon onde é possível formatar todo o relatório, configurando a página, cabeçalho, rodapé, entre outras opções. Sugiro ao leitor "explorar" cada uma delas, pois são tantas que precisaríamos de um artigo só pra isso.

Criando um relatório composto

Supondo que queremos listar os clientes e fornecedores em um único relatório, podemos imprimir os dois grids com apenas uma chamada. Para isso, devemos repetir os passos vistos anteriormente para criar um relatório apenas para o gridFornecedores (caso deseje testar a visualização, basta utilizar o mesmo código visto para o relatorioClientes, alterando o nome para, por exemplo, relatorioFornecedores). Neste exemplo, utilizarei o nome relatorioFornecedores.

Novamente clicando duas vezes sobre o componente, clicamos no menu "Add..." e na opção "AddComposition..." (vide Figura 2). Um item será adicionado à lista da esquerda (na Figura 2, é a região branca, pois a lista estava vazia) podemos então selecioná-lo e clicar no botão "Show Designer..." à direita na mesma tela. Uma pequena janela se abrirá e nela apenas um botão estará ativo: no canto superior esquerdo, o botão "Add New", no qual devemos clicar para adicionar dois itens ao relatório composto. A janela deve ser semelhante à Figura 5.

Figura 5. Adicionando itens ao relatório composto

Devemos então selecionar cada um dos dois itens e, no Object Inspector, alterar a propriedade Report Link, selecionando os dois relatórios já criados, na ordem que desejamos que apareçam na impressão.

Para facilitar o entendimento, alterei o nome do relatório composto para "relatorioComposto". A tela da Figura 2 agora deve estar como na Figura 6.

Figura 6. Lista de relatórios criados

Para visualizar o relatório, adicionamos o código da Listagem 2 no evento onClick do botão "Clientes + Fornecedores".

relatorioComposto.Preview();
Listagem 2. Exibindo o primeiro relatório

Pronto. Os dois relatórios foram impressos de uma só vez.

Os dois principais botões dessa tela, em minha opinião, são o "Show Designer..." e o "Page Setup...". O primeiro nos dá acesso a opções de formatação do relatório como exibir/ocultar grupos e filtros, auto-expandir detalhes e grupos, configurar largura automática de colunas, opções de gráficos, entre outros elementos do layout. Já o segundo botão leva à formatação da página, permitindo alterar o tamanho do papel, formato, cabeçalho, rodapé, margens, etc.

Novamente gostaria de sugerir aos leitores que explorem essas diversas opções, pois só mesmo a prática garantirá um bom domínio desta poderosa ferramenta.

Grato pela atenção, fico por aqui com mais este artigo. Até a próxima publicação.

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados