Olá pessoal, gostaria de falar hoje um pouco sobre o componente da Microsoft integrado no Visual Studio.NET chamado ReportViewer. Resolvi colocar este poste pois acabei pegando um código de uma pessoa que começou a desenvolver um sistema e saiu da empresa onde trabalho.
O mesmo utilizou o componente ReportViewer que funciona perfeitamente na máquina que está instalado o Visual Studio .NET 2008 completo.
Referência:
Visual Studio .NET 2008
Linguagem C#.NET
ReportViewer
Não vou mostrar todos os detalhes de como criar o relatório, porém vou dar uma dica importante para funcionar no servidor. (Code 1)
ReportDataSource RDS = new ReportDataSource
("dsRelatorios_spu_RemessaDigitalizada_Lista", DS.Tables[0]);
rpvRemessaDig.Visible = true;
rpvRemessaDig.LocalReport.DataSources.Clear();
rpvRemessaDig.Reset();
rpvRemessaDig.LocalReport.ReportPath = "ReportRemessaDig.rdlc";
rpvRemessaDig.LocalReport.DataSources.Add(RDS);
rpvRemessaDig.LocalReport.Refresh();
Code 1
O Code 1 mostra como preencher o componente depois de clicar no botão é chamando o arquivo .rdlc (arquivo criado para a geração do relatório). O relatório foi preenchido com DTO usando Stored Procedure. O Code 2 mostra a página em HTML.
<rsweb:ReportViewer ID="rpvRemessaDig"
runat="server"
Width="940px"
Font-Names="Verdana"
Font-Size="8pt"
Height="400px"
>
<LocalReport ReportEmbeddedResource="ReportRemessaDig.rdlc"
ReportPath="ReportRemessaDig.rdlc"
>
<DataSources>
< rsweb:ReportDataSource DataSourceId="ObjectDataSource1" Name="dsRelatorios_spu_RemessaDigitalizada_Lista"
/>
</DataSources>
</LocalReport>
</rsweb:ReportViewer>
<asp:ObjectDataSource ID="ObjectDataSource1"
runat="server"
OldValuesParameterFormatString="original_{0}"
SelectMethod="GetData" TypeName="dsRelatoriosTableAdapters.spu_RemessaDigitalizada_ListaTableAdapter">
<SelectParameters>
<asp:Parameter Name="pc_Agencia"
Type="String"
/>
<asp:Parameter Name="pc_DataCaptura"
Type="String"
/>
</SelectParameters>
</asp:ObjectDataSource>
Na parte de

Passei um problema com isso este mês e por isso resolvi escrever este artigo. O erro mostrado no momento de acesso foi:
Exception message: Não foi possível carregar arquivo ou assembly 'Microsoft.ReportViewer.WebForms, Version=9.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' ou uma de suas
dependências. The system cannot find the file specified.
Error 1
A versão do Visual Studio .Net é a 2008, e por isso tive que instalar um componente no servidor 2008. [Microsoft Report Viewer Redistributable 2008]. No caso de uma versão anterior ou posterior, procure instalar no servidor a mesma versão. Lembre-se disso ao usar o reportviewer, é necessário instalar este componente da Microsoft no servidor. Caso não for instalado, o seu aplicativo seque abre a primeira página devido a referência criada no arquivo de configuração .config. Fico por aqui e qualquer dúvida, pode entrar em contato.