WPF - Gerando relatórios no Crystal Reports para VS 2010 (beta)
Este artigo mostra como gerar e exibir um relatório criado na versão beta do Crystal Reports para o Visual Studio 2010 no Windows Presentantion Foundation.(WPF).
Antes de iniciar vou reproduzir a seguir a introdução do meu artigo : Crystal Reports para o Visual Studio 2010 (versão beta)
Você sabia que o Visual Studio 2010 não virá mais com o Crystal Reports integrado e que o mesmo será disponibilizado como um download à parte ?
Calma , o Crystal Reports continuará sendo distribuído gratuitamente para desenvolvedores da plataforma .NET e com muitas melhorias em relação a versão do VS 2008. Somente para quem distribui aplicações web usando o Crystal Reports houve mudanças no licenciamento.
Se você já tem o Visual Studio instalado e deseja gerar relatórios com o Crystal Reports preste atenção:
A página para fazer o download do Crystal Reports para o Visual Studio 2010 pode ser acessada no seguinte link: http://www.businessobjects.com/jump/xi/crvs2010/row2_default.asp
Abaixo as notas da página e os links para download:
Thank you for
participating in the SAP BusinessObjects Crystal Reports, version for Visual
Studio 2010 Beta Program. Download the Beta 2 release of: SAP Crystal Reports, version for Visual Studio 2010 SAP Crystal Reports runtime engine for .NET Framework 4 (32-bit) SAP Crystal Reports runtime engine for .NET Framework 4 (64-bit) Read the release notes. The Support Forum for the Beta is located here. |
Note que na página aparece em destaque a mensagem:
DOWNLOAD CRYSTAL REPORTS FOR VISUAL STUDIO 2010 TODAY. NO COSTS. NO REGISTRATION.
Para mais detalhes sobre o assunto visite o blog : http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/18490
Agora vamos mostrar como gerar um relatório em uma aplicação WPF.
1- Criando o projeto no VS 2010
Abra o VS 2010 e crie um novo projeto do tipo Crystal Reports WPF Application com o nome Wpf_CrystaReports;
Para isso no menu File->New Project , selecione o template Reporting -> Crystal Reports WPF Application e informe o nome Wpf_CrystaReports e clique em OK;
Será gerada o projeto WPF e o assistente do Crystal Reports será iniciado. O processo para gerar o relatório usando o assistente é muito simples.
Seguindo o passo a passo do assistente do Crystal Reports:
- Selecione a opção Using The Report Wizard e Standard e clique em OK;
Vamos gerar um relatório usando a tabela Products do banco de dados Northwind.mdb que no meu exemplo esta na pasta c:\dados;
Selecione a conexão com o Northwind.mdb selecione a tabela Products e clique em Next>;
Selecione os campos que deseja exibir no relatório conforme a figura abaixo e clique em Next>;
Como não vamos realizar nenhum agrupamento nem seleção de registro, clique em Next> na janela atual e na próxima janela também clique em Next>;
Para encerrar a criação do relatório clique em Finish;
Você verá a estrutura do relatório CrystalReport1.rpt exibido no descritor conforme a figura abaixo;
Agora vamos ajustar a interface do arquivo Window1.xaml conforme o leiaute da figura abaixo:
Redimensione o controle CrystalReportViewer cujo name é ReportViewer e inclua um StackPanel e um Button com Content=Imprimir e Name=btnImprimir;
O código XAML usado é o seguinte:
<Window x:Class="Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:cr="clr-namespace:SAPBusinessObjects.WPF.Viewer;assembly=SAPBusinessObjects.WPF.Viewer" Title="WPF Crystal Report Viewer" Height="600" Width="800" > <Grid> <cr:CrystalReportsViewer Name="ReportViewer" Margin="12,57,12,12" /> <StackPanel Height="41" HorizontalAlignment="Left" Margin="10,10,0,0" Name="StackPanel1" VerticalAlignment="Top" Width="200"> <Button Content="Imprimir" Height="43" Name="btnImprimir" Width="196" FontSize="14" /> </StackPanel> </Grid> </Window>
|
A seguir na code-behind do arquivo Window1.xaml.vb inclua o seguinte código:
Defina os namespaces:
Imports
CrystalDecisions.Shared
Private
Sub
Button1_Click(ByVal
sender As
System.Object,
ByVal
e As
System.EventArgs)
Handles
Button1.Click
Dim report
As
New
ReportDocument() End Sub |
No código criamos uma instância da classe ReportDocument, esta classe é a classe base para todos os relatórios, onde cada relatório é uma classe que herda da classe ReportDocument.
Para visualizar o relatório usamos o controle CrystalReportViewer onde a sua propriedade ReportSource define a fonte do relatório a exibir.
Obs: Observe que estamos usando a propriedade ViewerCore no WPF.
Agora basta executar o projeto e clicar no botão Imprimir para exibir o relatório no formulário WPF:
Simples, simples assim...
Eu sei é apenas WPF e Crystal Reports, mas eu gosto...
Pegue o projeto completo aqui: WPF_Crystal.zip
Referências: