Relatório em ASP.NET com Crystal Report

Crystal Report Viewer

Permite mostrar relatórios em sua aplicação, podendo ser utilizado tanto para projetos Web quanto Windows Forms, quanto a distribuição o mesmo apresenta restrições. Agora será explorado alguns dos recursos do Crystal Report Viewer, neste tópico o exemplo que vai ser feito é o mesmo que foi utilizado com o MicrosoftReportView então criar uma página com o nome Exemplo02.aspx e adicionar na página o controle Crystal Report Viewer Figura 19. Uma das vantagens do Crystal Report Viewer é que o relatório pode ser exportado para Crystal Reports (RPT), Acrobat Format (PDF), MS Word, MS Excel 97-2000, MS Excel 97-2000 (Data Only) e Rich Text Format. Quanto a versão do Framework disponível para .NET são 2.0, 3.0 and 3.5.

Figura 19: Crystal Report Viewer

Para configurar o layout do relatório é necessário adicionar um template no projeto como pode ser visto na Figura 20, através do Item 1 é o nome do arquivo Item 2 .

Figura 20: Template Crystal Report

Começando pelo Section Report Header onde será adicionado uma imagem através do menu Crystal Reports / Insert / Picture selecione a imagem deseja e depois na janela Toobox selecione Text Object e arraste para o relatório, onde será o nosso título “Products” conforme a Figura 21.

Figura 21: Report Header com imagem e título

Para formatar o relatório o dataset tem que ser adicionado, na janela Filder Explorer com o botão direito clicar em Database Filds / DataBase Expert como pode ser visto na Figura 22, perceba que vai ser aberto a janela Database Expert de acordo com a Figura 23, para localizar o dataset clique em Project Data / ADO.NET DataSets, localize o dataset, depois selecione a tabela Products e clique na seta “>” para adicionar.

Figura 22: Adicionando o Typed DataSet

Figura 23: Localizando Typed DataSet e Adicionar no relatório

A Figura 24 mostra como adicionar os campos no relatório, clique em ProductName e depois em UnitPrice e arraste para a Section Details depois clique com o botão direito na parte branca do relatório e selecione Insert / Summary vai ser aberta uma janela que se chama Insert Summary conforme exibido na Figura 25 e no Item 1 será escolhido o campo e no Item 2 escolher a opção sum que vai fazer a somatória do campo escolhido.

Figura 24: Colocando os campos que serão visualizados no relatório

Figura 25: Inserindo a somatória no relatório

E por fim o gráfico será a Figura 26 mostra como inserir no relatório o gráfico através do menu Crystal Reports / Insert / Chart onde vai ser aberto uma janela de acordo com a Figura 27, na aba Type pode ser escolhido vários tipos de gráfico só que o tipo de gráfico escolhido é o Bar que é tradicional gráfico de barras. Na aba Data que significa “dados”, possibilita fazer a montagem do gráfico, ou seja, relacionar os produtos com os seu respectivos valores Figura 28 e para finalizar na aba Text permite personalizar a legenda que o gráfico vai mostrar.

Figura 26: Inserindo o gráfico

Figura 27: Escolhendo o tipo de gráfico

Figura 28: Selecionando os dados do gráfico

A Listagem 2 mostra o code-behind da página Exemplo02.aspx onde é criado a conexão com o banco, após ter a conexão é retornado as informações para serem carregadas no relatório, e por fim o objeto relatorio é adicionado ao controle CrystalReportViewer1.

Listagem 2

using System;

using System.Data;

using System.Data.SqlClient;

public partial class Exemplo02 : System.Web.UI.Page

{

#region Object

//Cria uma instância do ReportClass

CrystalDecisions.CrystalReports.Engine.ReportClass relatorio = new CrystalDecisions.CrystalReports.Engine.ReportClass();

#endregion

#region Events Handles

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

CarregaRelatorio();

}

}

#endregion

#region Private Methods

private void CarregaRelatorio()

{

//Título da página

Page.Title = "Relatório";

//Conexão com o banco de dados

SqlConnection Con = null;

Con = new SqlConnection(@"Password=suasenha;Persist Security Info=True;User ID=seuusuario;Initial Catalog=Northwind;Data Source=DESENV\SQLEXPRESS");

Con.Open();

SqlCommand Cmd = Con.CreateCommand();

//Select que retorna 06 produtos

Cmd.CommandText = "Select top 6 * from Products ";

SqlDataAdapter Da = new SqlDataAdapter(Cmd);

DataTable dt = new DataTable();

Da.Fill(dt);

Con.Close();

//Local que está o relatório

relatorio.FileName = Server.MapPath("~/Reports/CrystalReportProducts.rpt");

//Define o DataDource do Relatório

relatorio.SetDataSource(dt);

//Visualiza o relatório

CrystalReportViewer1.ReportSource = relatorio;

CrystalReportViewer1.DataBind();

}

#endregion

}

Figura 29: Mostra o relatório gerado pelo controle Crystal Reports

Conclusão

A ferramenta discutida neste artigo é a principal utilizada no Visual Studio, e por esse motivo despertou o interesse em mostrar o que é possível fazer nela a nível de funcionalidades básicas. O desafio era fazer um relatório que apresentasse as mesmas informações em ambos as ferramentas e esse objetivo foi feito com sucesso.

Neste artigo foi possível ver algumas vantagens e como implementar o relatório, dando um norte de qual ferramenta que melhor se adequa no projeto em execução.


fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=14104

Comentários

Postagens mais visitadas