VS 2008 - Gerando relatórios com o ReportViewer I


A geração de relatórios sempre foi uma tarefa ingrata e ainda continua sendo. Felizmente para quem possui o Visual Studio existe o Crystal Reports que pode ser considerada uma ótima ferramenta para relatórios. Mas existe uma opção grátis ao Crystal Reports que você pode baixar no site da Microsoft. Estou falando do ReportViewer.

Neste artigo eu mostro como gerar relatórios usando o Report Viewer no Visual Studio 2008 (versão trial)

Você vai precisar das seguintes ferramentas para acompanhar este artigo: (Todas são gratuitas)

Considerando que você tenha todas as ferramentas instaladas (Veja no site como usar cada uma delas) vamos ao trabalho.

Meu objetivo e gerar um relatório simples usando o ReportViewer para exibir os dados das tabelas Products e Categories do banco de dados Northwind.mdf.

Em nosso relatório vou mostrar a utilização dos seguintes recursos:

  1. Uso de totalizadores;
  2. Utilização do recurso de drill-down;
  3. Geração de imagem no relatório;
  4. Alterando o relatório durante a impressão;
  5. Trabalhar com grupos;
  6. Alterar a cor de exibição de forma dinâmica;
  7. Geração gráficos;

Não vou me ater a particularidades da aplicação como banco de dados , desempenho, tratamento de erros , etc. pois para tornar mais fácil a compreensão irei direto para a construção do relatório.

Abra o Visual Studio 2008 (estou usando a versão trial) e crie um novo projeto do tipo Windows Forms Application com o nome de vb_Report1;

No menu Data selecione a opção Add New Data Source para criar a fonte de dados do relatório;

Na janela - Choose a DataSource type - selecione DataBase e clique em Next>;

A seguir selecione a conexão com o banco de dados Northwind (se ela não existir clique no botão New Connection e crie a conexão) e clique em Next>;

Na próxima janela salve a string e conexão com o nome padrão - northwndConnectionString - e clique em Next>

Na janela - Choose your database objects - não vou selecionar nenhum objeto , vou apenas clicar no botão Finish e confirmar a mensagem de que quero apenas criar um DataSet Vazio;

Agora , na janela Solution Explorer , selecione o dataset criado - northwindDataSet.xsd e clique com o botão direito do mouse selecionando Add -> TableAdapter;

Confirme a utilização da string de conexão que salvamos no passo anterior e clique em Next>;

Na próxima janela marque a opção - Use SQL statements e clique no botão Next>;

Na próxima janela clique no botão - Query Builder - e na janela Add Table - selecione as tabelas Products e Categories e clique no botão Add;

No Query Builder crie uma consulta SQL selecionando os campos ProductName , UnitPrice, UnitsInStock e Discontinued da tabela Products e CategoryName da tabela Categories;

Podemos clicar no botão OK e a seguir no botão Finish. O resultado final será o dataset criado conforme a figura a seguir.(Altere o nome do TableAdapter para ProductsCategory);

Agora já podemos criar o nosso relatório.

Na janela Solution Explorer selecione o formulário form1.vb e, a partir da ToolBox na guia - Reporting - arraste e solte no formulário o componente - MicrosoftReportViewer;

A partir da guia ReportViewer tasks clique em - Dock in parent container - para ajustar o componente no formulário e a seguir clique no link - Design a new report;

O assistente para criação do relatório será acionado ,clique no botão Next>

Na janela Select the Data Source , selecione o dataset criado e clique no botão Next>

A próxima janela selecione o tipo de relatório , Tabular ou Matrix, no exemplo eu marquei a opção Tabular. Clique em Next>

Na janela Design the Table vamos definir o agrupamento por CategoryName e exibir os campos UnitPrice, UnitsInStock e Discontinued em Details;

Na janela Choose the Table Layout , podemos selecionar a opção para incluir subtotais no relatório e o recurso de drilldown.

Agora vamos definir um estilo para o relatório , e só selecionar e clicar em Next>

Na última janela do assistente vemos as configurações usadas para o relatório e podemos informar o nome do relatório, no exemplo : ProductsCategory;

Ao terminar a criação do relatório iremos ver o descritor exibindo os campos e o leiaute do mesmo. Vemos também na Report Items os objetos que podemos usar para customizar o relatório;

Selecione o formulário e no componente ReportViewer1 selecione na opção - Choose Report - o relatório criado acima;

Executando o projeto neste instante iremos obter o relatório exibido na figura a seguir:

Observe que:

- Os produtos são exibidos agrupados por categoria;
- Observe que o recurso de drilldown permite expandir e visualizar os itens de uma categoria;
- Note também que há uma totalização por categoria;

Na segunda parte deste artigo vamos incluir alguns recursos como imagem , mudança de texto e cor dinâmica e com a utilização de expressões do ReportViewer e a geração de gráficos.

Acompanhe a segunda parte em : VS 2008 - Gerando relatórios com o ReportViewer II

Eu sei é apenas VB .NET mas eu gosto...

Referências:


José Carlos Macoratti