Você está na página 1de 10

24/09/13

Gerando Relatorios com o ReportViewer

VS 2008 - Gerando relatrios com o ReportViewer I


A gerao de relatrios 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 relatrios. Mas existe uma opo grtis ao Crystal Reports que voc pode baixar no site da Microsoft. Estou falando do ReportViewer. Neste artigo eu mostro como gerar relatrios usando o Report Viewer no Visual Studio 2008 (verso trial) Voc vai precisar das seguintes ferramentas para acompanhar este artigo: (Todas so gratuitas) ReportViewer - http://www.microsoft.com/downloads/details.aspx?FamilyID=8a166cac-758d-45c8-b637-dd7726e61367&DisplayLang=en SQL Server Express - http://www.microsoft.com/downloads/details.aspx?familyid=220549b5-0b07-4448-8848dcc397514b41&displaylang=pt-br Banco de dados Northwind.mdf - http://www.microsoft.com/downloads/details.aspx?FamilyID=06616212-0356-46A0-8DA2EEBC53A68034&displaylang=en Visual Studio 2088 - Trial - http://msdn2.microsoft.com/en-us/vstudio/products/aa700831.aspx (gere uma imagem ISO e queime um CD para instalar o VS) Considerando que voc tenha todas as ferramentas instaladas (Veja no site como usar cada uma delas) vamos ao trabalho. Meu objetivo e gerar um relatrio simples usando o ReportViewer para exibir os dados das tabelas Products e Categories do banco de dados Northwind.mdf. Em nosso relatrio vou mostrar a utilizao dos seguintes recursos: 1. 2. 3. 4. 5. 6. 7. Uso de totalizadores; Utilizao do recurso de drill-down; Gerao de imagem no relatrio; Alterando o relatrio durante a impresso; Trabalhar com grupos; Alterar a cor de exibio de forma dinmica; Gerao grficos;

No vou me ater a particularidades da aplicao como banco de dados , desempenho, tratamento de erros , etc. pois para tornar mais fcil a compreenso irei direto para a construo do relatrio. Abra o Visual Studio 2008 (estou usando a verso trial) e crie um novo projeto do tipo Windows Forms Application com o nome de vb_Report1;

No menu Data selecione a opo Add New Data Source para criar a fonte de dados do relatrio; Na janela - Choose a DataSource type - selecione DataBase e clique em Next>; A seguir selecione a conexo com o banco de dados Northwind (se ela no existir clique no boto New Connection e crie a conexo) e clique em Next>;
www.macoratti.net/08/03/vbn5_rpv.htm 1/10

24/09/13

Gerando Relatorios com o ReportViewer

Na prxima janela salve a string e conexo com o nome padro - northwndConnectionString - e clique em Next> Na janela - Choose your database objects - no vou selecionar nenhum objeto , vou apenas clicar no boto 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 boto direito do mouse selecionando Add -> TableAdapter;

www.macoratti.net/08/03/vbn5_rpv.htm

2/10

24/09/13

Gerando Relatorios com o ReportViewer

Confirme a utilizao da string de conexo que salvamos no passo anterior e clique em Next>; Na prxima janela marque a opo - Use SQL statements e clique no boto Next>;

Na prxima janela clique no boto - Query Builder - e na janela Add Table - selecione as tabelas Products e Categories e clique no boto Add;

www.macoratti.net/08/03/vbn5_rpv.htm

3/10

24/09/13

Gerando Relatorios com o ReportViewer

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 boto OK e a seguir no boto Finish. O resultado final ser o dataset criado conforme a figura a seguir.(Altere o nome do TableAdapter para ProductsCategory);

www.macoratti.net/08/03/vbn5_rpv.htm

4/10

24/09/13

Gerando Relatorios com o ReportViewer

Agora j podemos criar o nosso relatrio. Na janela Solution Explorer selecione o formulrio form1.vb e, a partir da ToolBox na guia - Reporting - arraste e solte no formulrio o componente - MicrosoftReportViewer; A partir da guia ReportViewer tasks clique em - Dock in parent container - para ajustar o componente no formulrio e a seguir clique no link - Design a new report;

O assistente para criao do relatrio ser acionado ,clique no boto Next> Na janela Select the Data Source , selecione o dataset criado e clique no boto Next>

www.macoratti.net/08/03/vbn5_rpv.htm

5/10

24/09/13

Gerando Relatorios com o ReportViewer

A prxima janela selecione o tipo de relatrio , Tabular ou Matrix, no exemplo eu marquei a opo 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;

www.macoratti.net/08/03/vbn5_rpv.htm

6/10

24/09/13

Gerando Relatorios com o ReportViewer

Na janela Choose the Table Layout , podemos selecionar a opo para incluir subtotais no relatrio e o recurso de drilldown.

Agora vamos definir um estilo para o relatrio , e s selecionar e clicar em Next>

www.macoratti.net/08/03/vbn5_rpv.htm

7/10

24/09/13

Gerando Relatorios com o ReportViewer

Na ltima janela do assistente vemos as configuraes usadas para o relatrio e podemos informar o nome do relatrio, no exemplo : ProductsCategory;

Ao terminar a criao do relatrio iremos ver o descritor exibindo os campos e o leiaute do mesmo. Vemos tambm na Report Items os objetos que podemos usar para customizar o relatrio;

www.macoratti.net/08/03/vbn5_rpv.htm

8/10

24/09/13

Gerando Relatorios com o ReportViewer

Selecione o formulrio e no componente ReportViewer1 selecione na opo - Choose Report - o relatrio criado acima;

Executando o projeto neste instante iremos obter o relatrio exibido na figura a seguir:

www.macoratti.net/08/03/vbn5_rpv.htm

9/10

24/09/13

Gerando Relatorios com o ReportViewer

Observe que: - Os produtos so exibidos agrupados por categoria; - Observe que o recurso de drilldown permite expandir e visualizar os itens de uma categoria; - Note tambm que h uma totalizao por categoria; Na segunda parte deste artigo vamos incluir alguns recursos como imagem , mudana de texto e cor dinmica e com a utilizao de expresses do ReportViewer e a gerao de grficos. Acompanhe a segunda parte em : VS 2008 - Gerando relatrios com o ReportViewer II Eu sei apenas VB .NET mas eu gosto... Referncias: Gerando relatrios com o ReportView ReportView - Usando parmetros
Jos Carlos Macoratti

www.macoratti.net/08/03/vbn5_rpv.htm

10/10