Anda di halaman 1dari 38

CrystalReport XI

Verso Beta 02

Pgina 1 de 38

Sobre o Crystal Reports


Crystal Reports projetado para trabalhar com seu banco de dados para ajudar a analisar e
interpretar informaes importantes. Cristal Reports facilita criao de relatrios simples e
tambm tem ferramentas poderosas necessrias para gerar relatrios complexos ou
especializados.
Criar qualquer relatrio que voc pode pensar
Crystal Reports projetado para gerar o relatrio que desejar a partir de praticamente qualquer
fonte de dados.
Os Wizards iro gui-lo passo a passo atravs da criao de relatrios e execuo de tarefas
comuns relacionadas ao uso de relatrios.
Frmulas, cross-tabs, sub-relatrios e formatao condicional ajudam entender melhor os dados
e descobrir relaes importantes que de outra forma poderia estar oculta.
Os grficos e mapas geogrficos fornecem informaes visualmente quando as palavras e os
nmeros no so suficientes.
Estender relatrios para a Web
A flexibilidade do Crystal Reports no termina com a criao de relatrios, uma vez que podem
ser publicados em uma variedade de formatos, incluindo Microsoft Word e Excel, e-mail e at
mesmo na web.
O tratamento posterior de relatrios sobre a Internet permite que outros membros do seu grupo
de trabalho visualizar e atualizar relatrios compartilhados em seus navegadores.
Incorporar relatrios em aplicaes
Desenvolvedores e aplicaes Web pode economizar tempo e atender s necessidades de seus
usurios, integrando o poder de processamento relatrio do Crystal Reports em suas aplicaes
de banco de dados.
O apoio da linguagens de desenvolvimento mais utilizados fcil de adicionar relatrios para
qualquer aplicao.
Se o Web Services Manager em TI, marketing manager promoo em, o administrador do banco
no financiamento ou o CEO, o Crystal Reports uma ferramenta poderosa projetada para ajudar
qualquer usurio a analisar e interpretar informaes importante para todos.

CrystalReport XI
Apresentando o IDE do CrystalReport

Figura 01

Verso Beta 02

Pgina 2 de 38

CrystalReport XI

Verso Beta 02

Pgina 3 de 38

Usando o Assistente para Criao de Relatrios Simples


Conexo com Fontes de Dados
Podemos criar conexo com fontes de dados das mais variadas origens confor visto no tpico
introdutrio. Aqui, vamos utilizar conexo com uma base de dados SQL Server da Microsoft,
representada pelo diagrama da Figura 01.

Figura 01

Passo 01
Acesse a opo de menu Arquivo | Novo | Relatrio Padro..., observando o resultado
apresentado na Figura 02.
Selecionando o n OLE DB (ADO), clique no sinal + para expandir o n, tendo como resposta a
imagem da Figura 03. Nesta fase, selecione a opo SQL Server Native client 10.0 clicando em
seguida no boto Avanar.

Figura 02
Figura 03

Figura 04

Figura 05

Preencha os campos Servidor, ID do Usurio, Senha e Banco de Dados respectivamente com


Nome do Servidor\SQL Express, sa, 123 e BancoCrusoCSharp conforme Figura 04. Em seguida
clique no boto Avanar tendo como resposta a imagem da Figura 05. Finalize clicando no boto
Concluir, encerrando os passos para conexo com a base de dados.

CrystalReport XI

Verso Beta 02

Pgina 4 de 38

Passo 02
Concludo a conexo, conforme exibido na Figura 06, ser exibido um n listando as tabelas da
base de dados. Selecione o n representado pela tabela Cliente clicando no boto representado
pelo sinal >, em seguida, clique no boto Avanar.
Tendo como referncia a imagem da Figura 07, selecione do lado esquerdo da caixa de dialogo
(Campos Disponveis) os campos ID, Nome, Data e Limite_Credito, clicando no boto com o sinal
de >. Repare na mesma imagem, os campos selecionados no lado direito (Campos a Serem
Exibidos).

Figura 06

Figura 07

As prximas duas figuras, a saber, Figura 08 e Figura 09 no abordaremos neste momento, mas
so se suma importncia, pois possibilitam respectivamente configurar o relatrio para
apresentarem dados agrupados, alm, de ordenados por algum campo ou combinao de.

Figura 08

Figura 09

Finalizando a etapa de construo do primeiro relatrio, clique no boto Avanar na Figura 09, sendo
direcionado para a caixa de dialogo representada pela imagem da Figura 10 onde podemos observar um
preview do relatrio. Clique no boto Concluir e pronto.

Figura 10

CrystalReport XI

Verso Beta 02

Pgina 5 de 38

Repare as duas abas, Projetar e Visualizar, representadas pelas Figuras 11 e 10.


A aba Visualizar exibe um preview de como o relatrio (neste caso com dados reais) ser exibido,
e impresso.
J a aba Projetar, no IDE do CrystalReport, temos acesso a estrutura fsica do relatrio, onde
podemos aplicar as bandas Cabealho, Detalhe, Rodap entre outras elementos visuais tais como
colunas (campos de tabelas), elementos grficos e etc.

Figura 11

Figura 12

Salve o relatrio em um diretrio conforme imagem da Figura 13. Salve-o com o nome de
Exemplo-01.rpt.

Figura 13

CrystalReport XI

Verso Beta 02

Pgina 6 de 38

Criando um Relatrios Padro com Tabelas Relacionadas


Passo 01
Acesso a opo de menu Arquivo | Novo | Relatrio em Branco... da IDE do CrystalReport, tendo
como resultado a Figura 01. Em seguida, salve e renomeie o relatrio como Exemplo_02.rpt.

Figura 01

Passo 02
Acione a opo de menu Banco de Dados | Especialista em Banco de Dados, em seguida,
conforme a Figura 02, selecione as tabelas Cliente ItemPedido, Pedido e Produto da conexo
anteriormente estabelecida. Clique no boto com o sinal > para que sejam exibidas na rea
Tabelas Selecionadas. Clique no boto Ok para ver a prxima tela (Figura 03) da caixa de dialogo
Especialista em Banco de Dados, sobretudo a aba Link.

Figura 02

Figura 03

Observando a caixa de dialogo Especialista em Banco de Dados, aba Link, vemos as tabelas
escolhidas para compor este relatrio representadas como um diagrama de entidades com seus
relacionamentos. Para as tabelas em questo, foi aplicado as formas Normais adequadas, sobre
tudo, foi implementado os relacionamentos por intermdio da Chaves Primrias e Chaves
Estrangeiras.

CrystalReport XI

Verso Beta 02

Pgina 7 de 38

Este fato, a existncia destas chaves, garante conforme a opo Auto Link, o relacionamento Por
Chave. De outra forma, a opo Por Nome, permitiria o relacionamento entre as tabelas
(Entidades) com base nos nomes dos campos.
Clicando no boto Link, ser exibido a caixa de dialogo representada pela Figura 04, onde as
condies Tipo de Juno, Imposio de Juno e Tipo de Link (operador) esto disponveis para
configurao da forma de juno.

Figura 04

J o boto Ordenar Link, naturalmente nos conduz a uma interface em que escolhemos a ordem
de ordenao, escolhendo as colunas que determinaro essa ordem. As setas indicando para
cima e para baixo possibilitam esta escolha.

Figura 05

Passo 03
Conforme Figura 06, repare nas bandas (sesses) do relatrio recm-criado, conferindo seus
significados na tabela (Tabela 01) abaixo:
Banda

Exibio

Cabealho do Relatrio

Exibida somente no topo da primeira pgina do relatrio.

Cabealho da Pgina

Exibida em todas as pginas do relatrio, na parte superior.

Detalhes

Acomoda e lista os valores dos campos de dados.

Rodap do Relatrio

Exibida no final da ltima pgina (parte inferior).

Rodap da Pgina

Exibida na parte inferior de todas as pginas.


Tabela 01

CrystalReport XI

Verso Beta 02

Pgina 8 de 38

Agora vamos aplicar alguns campos na bada Detalhes, obtendo-os da caixa de dialogo
representada pela Figura 07. Para tanto, selecione e arraste as colunas (campos) para a banda
Detalhe, observando que acima, na banda Cabealho da Pgina, aplicado o controle que
representar o ttulo da coluna (campo).
Repare o resultado final na imagem da Figura 08. Os campos selecionados foram: Nome da
tabela Cliente, ID da tabela Pedido, Quantidade da tabela ItemPedido e por fim, Descricao da
tabela Produto.

Figura 06

Figura 07

Figura 08

Passo 04
Clique na opo de menu Visualizar | Visualizar Amostra, tendo com resultado a imagem da
Figura 09, onde podemos configurar a quantidade de registros a ser exibido no preview de dados.

Figura 09

CrystalReport XI

Verso Beta 02

Pgina 9 de 38

O resultado deste passo pode ser observado na Figura 10.

Figura 10

Passo 05
A ttulo de entendermos como formado a instruo SQL enviado a fonte de dados, selecione a
opo de menu Banco de Dados | Mostra Consulta SQL. A Figura 11 exibe o resultado desta
ao, exibindo o cdigo da instruo Select. Para melhor visualizao da instruo Select e seus
relacionamentos exibimos tambm o mesmo cdigo na Listagem 01.

Figura 11
Listagem 01
1.
2.
3.
4.
5.
6.
7.
8.
9.

SELECT "Cliente"."Nome",
"Pedido"."ID",
"ItemPedido"."Quantidade",
"Produto"."Descricao"
FROM( ("BancoCursoCSharp"."dbo"."ItemPedido" "ItemPedido" INNER JOIN
"BancoCursoCSharp"."dbo"."Pedido" "Pedido" ON "ItemPedido"."PedidoID"="Pedido"."ID"
) INNER JOIN "BancoCursoCSharp"."dbo"."Produto" "Produto" ON
"ItemPedido"."ProdutoID"="Produto"."Id"
) INNER JOIN "BancoCursoCSharp"."dbo"."Cliente" "Cliente" ON "Pedido"."ClienteID"="Cliente"."ID"

Passo 06
Agora vamos definir a ordenao dos dados, j que no o fizemos na instruo SQL (Select).
Para tanto, escolha a opo de menu Relatrio | Especialista em Classificao de Registros.
Escolha em Campos disponveis o campo Nome do Cliente, clicando em seguida no boto > para
definir ordenao dos dados por este campo.

Figura 12

CrystalReport XI

Verso Beta 02

Pgina 10 de 38

Passo 07
Visando dar maior realismo ao nosso exemplo de consulta, vamos nesta etapa, adicionar um
objeto Campo Parmetro para compor na clusula Where da instruo SQL da consulta uma
sentena de filtro de registros. Naturalmente, vamos exercitar adicionando um parmetro, mas
fique livre para cria uma condio com mais sentenas.
Ento, na caixa de dialogo representada pela Figura 13, clicando com o boto direito do mouse
sobre Campos de Parmetros escolha a opo Novo.

Figura 13

Se baseando na Figura 14, preencha o nome do parmetro como Par_NomeParcialCliente no


campo Nome e no campo Tipo defina Sequncia de Caracter. Clique no boto Ok e pronto. A
Figura 15 exibe a caixa de dialogo da Figura 13 contendo agora um Campo de Parmetro.

Figura 14

Figura 15

Passo 08
J com o Campo Parmetro criado vamos construir a sentena que promover o filtro de registro,
dimensionando o resultado a partir desta condio.
Para tanto, escolha a opo de menu Relatrios | Frmula de Seleo | Registro..., obtendo com
resposta a caixa de dialogo representada pela Figura 16.

CrystalReport XI

Verso Beta 02

Pgina 11 de 38

Figura 16

Ainda neste passo, expanda o n Cliente, clicando e arrastando o campo Nome para a rea
inferior da caixa de dialogo representada pela Figura 16.
Ainda na mesma, busque em
Operadores, n Padro, a opo Like (operador) arrastando-o para a mesma rea citada
anteriormente. Por fim, ao lado do operador Like, arraste o parmetro Par_NomeParcialCliente
obtido em Campos do Relatrio (n) concatenando ao mesmo '*' como caractere coringa
(digitando direto na rea inferior ao lado do operador Like).
Para melhor visualizao segue o cdigo resultante:
{Cliente.Nome} like {?Par_NomeParcialCliente} + '*'
Passo 09
Vamos fazer um teste da soluo de filtro de registros.
Selecione a opo de menu Visualizar | Visualizar Amostra tendo como resposta a caixa de
dialogo representada pela Figura 17. Desejando, podemos optar por visualizar somente um
nmero especfico de registros, minimizando o processo de demonstrao.

Figura 17

Clicando no boto Ok (Figura 17), obteremos a interface Digitar Valores (Figura 18), para a qual
sugerimos inserir a letra C antecedendo o caractere coringa *.

Figura 18

CrystalReport XI

Verso Beta 02

Pgina 12 de 38

Aps clicar no boto Ok na interface da Figura 18, teremos como resposta o relatrio da Figura 19.

Figura 19

Importante observar a clusula Where da instruo Select (cdigo SQL) gerado para a consulta.
Na Listagem 02, em negrito, o valor C* foi substituido por C%, trocando o caractere curinga
* por % para adequao a linguagem SQL.
Listagem 02
1.
2.
3.
4.
5.
6.

SELECT DISTINCT "Cliente"."Nome", "Pedido"."ID", "ItemPedido"."Quantidade", "Produto"."Descricao"


FROM (("BancoCursoCSharp"."dbo"."ItemPedido" "ItemPedido" INNER JOIN
"BancoCursoCSharp"."dbo"."Pedido" "Pedido" ON "ItemPedido"."PedidoID"="Pedido"."ID") INNER JOIN
"BancoCursoCSharp"."dbo"."Produto" "Produto" ON "ItemPedido"."ProdutoID"="Produto"."Id") INNER JOIN
"BancoCursoCSharp"."dbo"."Cliente" "Cliente" ON "Pedido"."ClienteID"="Cliente"."ID"
WHERE "Cliente"."Nome" LIKE 'C%' ORDER BY "Cliente"."Nome"

Refaa o teste, mas agora mantendo exclusivamente o valor * para servir de argumento para o
filtro. Confira esses passos e o resultado na Figura 20, Listagem 03 e Figura 21.

Figura 20

Listagem 03
1.
2.
3.
4.
5.
6.

SELECT DISTINCT "Cliente"."Nome", "Pedido"."ID", "ItemPedido"."Quantidade", "Produto"."Descricao"


FROM (("BancoCursoCSharp"."dbo"."ItemPedido" "ItemPedido" INNER JOIN
"BancoCursoCSharp"."dbo"."Pedido" "Pedido" ON "ItemPedido"."PedidoID"="Pedido"."ID") INNER JOIN
"BancoCursoCSharp"."dbo"."Produto" "Produto" ON "ItemPedido"."ProdutoID"="Produto"."Id") INNER JOIN
"BancoCursoCSharp"."dbo"."Cliente" "Cliente" ON "Pedido"."ClienteID"="Cliente"."ID"
WHERE "Cliente"."Nome" LIKE '%' ORDER BY "Cliente"."Nome"

Figura 21

CrystalReport XI

Verso Beta 02

Pgina 13 de 38

Configurando o Visual de Elementos (objetos) do Relatrio


Passo 01
A

Figura 01

Figura 02

Figura 03

Figura 04

CrystalReport XI

Figura 05

Figura 06

Figura 07

Verso Beta 02

Pgina 14 de 38

CrystalReport XI

Figura 08

Figura 09

Figura 10

Figura 11

Verso Beta 02

Pgina 15 de 38

CrystalReport XI

Figura 12

Figura 13

Figura 14

Figura 15

Verso Beta 02

Pgina 16 de 38

CrystalReport XI

Verso Beta 02

Pgina 17 de 38

Criando um Relatrio de Referncia Cruzada

Passo 01
Inicie um novo relatrio, agora, optando por menu Arquivo | Novo | Relatrio de Tabela de
Referncia Cruzada. Como de costume, o ambiente exibir a caixa de dialogo do assistente
solicitando indicarmos uma conexo existente ou criarmos uma nova. Confira a sequncia se
orientando pelas Figuras 01, 02, 03 e 04 clicando no boto Incluir na caixa da Figura 04.

Figura 01

Figura 02

Figura 03

CrystalReport XI

Verso Beta 02

Pgina 18 de 38

Figura 04

Concludo a etapa de conexo com a base de dados, ser apresentado a caixa de dialogo
representada pela Figura 05, para a qual selecionaremos as tabelas Cliente, Pedido, ItemPedido e
Produto clicando em avanar em seguida. Repare na imagem da Figura 06, que resume o
diagrama de relacionamento entre as tabelas selecionadas como resposta ao clique do boto
Avanar da Figura 05. Clique novamente no boto Avanar observando agora o resultado exibido
pela Figura 07.

Figura 05

Figura 06

Neste ponto, escolhemos os campos para gerar o relatrio, alocando-as na reas Colunas (canto
superior esquerdo), Linhas (lado inferior esquerdo) e Campos de Resumo (lado inferior direito)

Figura 07

CrystalReport XI

Verso Beta 02

Pgina 19 de 38

Da forma que optamos pela escolha dos campos do relatrio, considerando que um relatrio de referncia
cruzada e no um relatrio tabular, ser exibido neste modelo as colunas como sendo o Cliente (Nome do
Cliente), nas linhas sero exibidos a Descrio do Produto, e por fim, a totalizao da soma das Quantidades
de ItemPedido (quantidade vendida por produto) apresentando uma coluna para as vendas totais de Produto
por Cliente e uma coluna resumindo a venda total por Produto de todos os clientes envolvidos.

Figura 08

Nesta fase (Figura 09) simplesmente seguiremos em frente clicando no boto Avanar, no
aplicando nenhum filtro.

Figura 09

Antes de finalizar, clicando no boto Concluir, escolha um estilo na lista Estilos disponveis
observando a aparncia no lado direito.

Figura 10

Passo 02
Para que tenhamos a possibilidade de escolha do cliente que constar no relatrio, incluiremos
um parmetro no relatrio, procedendo na sequncia, sua utilizao na clusula Where da
consulta SQL. Este parmetro servir ao filtro do campo Cliente.ID para o operador de igualdade.
Ento, clique com o boto direito do mouse sobre o n Campos de Parmetro na caixa Explorador
de Campos. Conforme resultado exposto na Figura 11, indique no campo nome Par_ClienteID,
para o campo Tipo escolha Nmero e Lista de Valores como esttico.

CrystalReport XI

Verso Beta 02

Pgina 20 de 38

Figura 11

Passo 02
Uma vez criado o parmetro, devemos agora utiliz-lo como filtro da instruo Select do relatrio.
Para tanto, selecione a opo de menu Relatrio | Formas de Seleo | Registro..., criando a
instruo {Cliente.ID} = {?Par_ClienteID}. Tal instruo pode ser simplesmente digitada na rea
adequada, ou usando o mouse para selecionar os campos.

Figura 12

Na sequncia, aps clicar em Salvar e Fechar na caixa da Figura 12, teremos como resposta a
sequncia de interfaces representada pelas Figuras 13 e 14, possibilitando um teste no relatrio,
agora com o devido filtro. Para tanto necessrio passar um nmero de Cliente (na prtica o
valor de Chave Primria de um Cliente).

Figura 13

Figura 14

CrystalReport XI

Verso Beta 02

Pgina 21 de 38

O resultado tanto da mostra de registro quanto da estrutura do relatrio recm criado pode ser
observado nas Figuras 15 e 16, respectivamente abas Visualizar e Preparar, alternando entre elas.

Figura 15

Figura 16

Passo 03
Uma questo importante, a escolha do formato do relatrio no tocante a dimenso, uma vez
que desejaremos imprimir e ou exportar para outros tipos de arquivo, possibilitando assim sua
distribuio.
Assim sendo, clique com o boto direito do mouse sobre qualquer rea de relatrio, selecionando
a opo Configurao da Pgina..., obtendo a interface da Figura 17 para qual faremos os ajustes
conforme o exposto. Definimos ai coisas como altura, largura (escolhendo na lista Tamanho) bem
como Orientao e Margens.

Figura 17

CrystalReport XI

Verso Beta 02

Pgina 22 de 38

Repare que agora visualizamos (Figura 18) as margens definidas j no novo formato de pgina
(aqui A4).

Figura 18

Passo 04
Agora vamos alterar o lay-out do relatrio redimensionando alguns elementos. Selecione a
primeira coluna (Descrio do Produto) e em seguida a segunda coluna (Nome do Cliente),
clicando com o boto direito do mouse sobre as mesmas e escolhendo a opo Tamanho e
Posio no menu de contexto. Aplique os valores definidos nas Figura 19 e 20 respectivamente,
observando o resultado na Figura 21.

Figura 19

Figura 20

Figura 21

CrystalReport XI

Verso Beta 02

Pgina 23 de 38

Passo 05
Fique livre para exercitar a formatao do relatrio, selecionando no menu de contexto alcanado
com o clique no boto direito do mouse sobre a rea do relatrio, utilizando as abas Comum,
Moldura e Hiperlink. Aqui, conforme Figura 22, utilizamos aplicar um Sombra cor verde na rea
do relatrio.

Figura 22

Figura 23

CrystalReport XI

Verso Beta 02

Pgina 24 de 38

Exerccio Proposto
Crie um novo relatrio de Tabela de Referncia Cruzado, onde possamos observar na vertical,
como colunas, a Descrio do Produto.
Com relao as linhas do relatrio, deveremos ter a data de venda do item (ItemPedido), logo,
ser exibido o campo Data do Pedido.
Por fim, devemos ter como totalizador de coluna o acumulado da venda de itens (linha) por data,
para cada Produto (coluna).
Para uma pequena ajuda, j que a proposta o aluno desenvolver o exerccio, antecipamos uma
sequncia de imagens (da Figura 01 a Figura 08) que voc dever percorrer.

Figura 01

Figura 02

Figura 03

Figura 04

Figura 05

Figura 06

Figura 08
Figura 07

CrystalReport XI

Verso Beta 02

Pgina 25 de 38

Criando um Aplicativo Asp.Net para Vizualizar Relatrios


Existe maneiras de visualizao de relatrios gerado no CrystalReport. A mais convencional seria
utilizar a prpria ferramenta de desenvolvimento CrystalReport para executar seus relatrios. Na
verdade distribudo uma ferramenta denominada Crystal Reports Viewer, capaz de exibir
relatrios padro RPT, distribudos pela companhia.
Aqui adotaremos uma soluo mais avanada e de maior alcance, a partir de uma aplicao
disponvel pela internet ou intranet os usurios podero selecionar e executar tais relatrios.
Normalmente, na verdade desejvel, relatrios so expresses formatadas de dados dos
aplicativos. comum em algum ponto de um sistema, a saber, consultas em geral, apresentar
seu resultado na forma de relatrio a ser impresso ou exportado para outros formatos como
planilhas eletrnica, PDF ou HTML.
Passo 01
Inicie o ambiente do VisualStudio. Neste ponto veremos o IDE conforme Figura 01.

Figura 01

No menu File | New | Web Site, selecione ASP.NET Empty Web Site, conforme Figura 02.

Figura 02

CrystalReport XI

Verso Beta 02

Pgina 26 de 38

Crie um diretrio para armazenar seu aplicativo, se orientando pela Figura 03.

Figura 03
Complementando esta etapa, repare na Figura 04, exibindo a Soluction Explore, onde podemos
visualizar o projeto recm-criado.

Figura 04
Passo 02
Na caixa de dialogo Soluction Explore (Figura 04) clique com o boto direito do mouse sobre o n
do projeto (c:\...\VisualizarWebASPX\) selecionando confirme Figura 05 a opo Add New Item.

Figura 05

CrystalReport XI

Verso Beta 02

Pgina 27 de 38

Conforme Figura 06, selecione a opo Master Page, objetivando criarmos uma pgina mestre
para servir de modelo para todas as pginas do projeto. Esta prtica comum, uma vez que em
regra geral, todas as pginas de um sistema web mantem um padro visual. Em OOP, esta
caracterstica definida como herana, neste caso, basicamente visual.

Figura 06
Como resultado obtemos a imagem da Figura 07, exibindo a pgina mestre em modo de design.

Figura 07
Se baseando na Figura 08, caixa Toolbox, aba Standard, selecione e aplique sobre a rea de
design da pgina mestre um controle Image.
Este componente exibir uma imagem
confeccionada para a cabea de nosso site, naturalmente sendo exibido em todas as pginas que
que forem criadas por herana da pgina mestra.

Figura 08

CrystalReport XI

Verso Beta 02

Pgina 28 de 38

Conforme a Figura 10, adicione os diretrios CSS para o arquivo de folha de estilo, IMG para
arquivos de imagens do site e RPT para as cpias de relatrios gerados no CrystalReport.
Caso a caixa de dialogo representada pela Figura 09 (Properties) no esteja sendo exibida,
habilite-a no menu View | Properties Windows. Em seguida, configure as propriedades do
controle Image conforme indicado na Tabela 01.
Tabela 01
Propriedade

Valor

(ID)

ImageCabecaSite

Width

1000

Height

133

ImageURL

IMG/CabecaSite.jpg

Figura 10

Figura 09

Repare o resultado exibido pela Figura 11

Figura 11

CrystalReport XI

Verso Beta 02

Pgina 29 de 38

Alterne entre o modo Design e o modo Source, clicando nas respectivas abas na parte inferior. A
Listagem 01 exibe o cdigo (tags) ASPX relativo a pgina mestra.
Aplique (ajuste) ao cdigo de sua pgina mestre, o cdigo relativo as linhas 13, 14, 15, 22 e 23,
fazendo com que o contedo das pginas sejam centralizados com relao a rea total do
browser. Repare que a tag DIV, linha 14, configura uma borda que delimita visualmente uma
rea til.
Listagem 01
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs"


Inherits="MasterPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">

<div align="center">

<div style="position: relative; height:500px;


width:1000px; border: 1px solid #808080">

<asp:Image ID="ImageCabecaSite" runat="server" Height="133px" Width="1000px"


ImageUrl="~/IMG/CabecaSite.jpg" style="z-index: 1; left: 0px; top: 0px;
position: relative; border: 1px solid #808080"
/>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>

</div>

23.
</div>
24.
</form>
25. </body>
26. </html>

Executando o projeto, que at aqui s tem a pgina mestra, obteremos a imagem da Figura 12.

Figura 12

CrystalReport XI

Verso Beta 02

Pgina 30 de 38

Passo 03
Adicione uma nova pgina web ao projeto, seguindo orientao fornecida pela Figura 13. Habilite
o checbox Select Master Page, possibilitando na sequncia (Figura 14) selecionar uma pgina
mestra para que nossa recente pgina herde suas caractersticas. Salve a pgina nomeando-a
como PageMenu.ASPX.

Figura 13

Figura 14
Passo 04
Aplique a pgina (em tempo de design) um controle Menu, obtendo-o da Toolbox aba Navigaton
conforme Figura 15.

Figura 15

CrystalReport XI

Verso Beta 02

Pgina 31 de 38

A Listagem 02 exibe o cdigo da pgina PageMenu, j incluindo a tag Menu.


Listagem 02
1.
2.
3.
4.
5.
6.

7.
8.
9.

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true"


CodeFile="PageMenu.aspx.cs" Inherits="PageMenu" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

<asp:Menu ID="Menu1" runat="server">


</asp:Menu>
</asp:Content>

Selecione a caixa de Properties (Figura 16), alterando a propriedade (ID) para Menu e em
seguida, altere tambm a propriedade Orientation para Horizontal e por fim Widht para 1000. O
resultado pode ser observado na Figura 17.

Figura 16

Figura 17

Passo 05
No lado direito do controle (assim com em todos os controles de lista) existe um icone na forma
de uma seta, para qual devemos clicar, e em seguida, selecionar Edit Menu Item (Figura 18).
Esta ao aciona o Menu Task (menu de tarefas inerente aos controles de lista).

Figura 18

CrystalReport XI

Verso Beta 02

Pgina 32 de 38

Se oriente pela Figura 19, visando definir os menus e seus itens. Na rea Items existe icones que
permitem adicionar Menu, Item de Menu e excluso, nesta ordem.

Figura 19
Por fim, selecionando novamente o Menu Task, selecione a opo Auto Format escolhendo um
padro de formatao prdefinido para o Menu.

Figura 20
Passo 06
Defina qual browser ser utilizado quando no ambiente do VisualStudio executarmos o projeto.
Basta clcar com o boto direito do mouse sobre o n que representa o projeto na caixa Soluction
Explore, escolhendo a opo Browser With... conforme Figura 21. Escolha um browser e clique
no boto Browse.

Figura 21

CrystalReport XI

Verso Beta 02

Pgina 33 de 38

Passo 07
Clique com boto direito do mouse novamente sobre o n que representa o projeto (em Soluction
Explore), selecionando a opo Start Options..., tendo como resposta a caixa de dialogo
representada pela Figura 22. Marque a opo Specific page, indicando a pgina PageMenu.aspx
como a primeira pgina a ser executado quando o site entrar em funcionamento.

Figura 22
Passo 08
Adicione mais um Web Form salvando-a com o nome de PageRelatorioPadrao.ASPX, orientando-se
pela Figura 23. Se necessrio recorra aos passos anteriores para ver como proceder.

Figura 23

Passo 09
No menu Tool | Options..., conforme Figura 24, habilite as opes para movimento livre de
controles na rea de design. Isto permitir arrastar os controles na rea de design livremente.

Figura 24

CrystalReport XI

Verso Beta 02

Pgina 34 de 38

Passo 10
No cdigo fonte da pgina mestra, especificamente dentro da tag Head, aplique o cdigo abaixo,
que referencia a folha de estilo que contem as classes de estilo para decorar e formatar os
controles de nossas pgina.
<link href="CSS/Estilo.css" type="text/css" rel="stylesheet" />
Em seguida aplique um controle Label, um TextBox e dois Buttons configurando suas
propriedades conforme detalhado na Tabela 02.
Para definir a posio de cada controle na pgina, tomo como referncia a imagem da pgina em
execuo representada pela Figura 27 na sequncia.
Tabela 02
Controle

Propriedade

Valor

Label

Name

LabelNomeParcial

Text

Nome Parcial

CssClass

LabelTexto

Name

TextBoxNomeParcial

Text

mante vazio

CssClass

CaixaTexto

Name

ButtonImprimir

Text

Imprimir

CssClass

Botao

Name

ButtonVoltar

Text

Voltar

CssClass

Botao

TextBox

Button

Button

Passo 11
Voltando a pgina PageMenu.ASPX, usando o menu de tarefas (Task) do controle menu, selecione
a opo de item de menu Padro, no menu Relatrios, indicando em sua propriedade
NavigateURL a pgina PageRelatorioPadrao.ASPX conforme indicado nas Figuras 25 e 26. assim
procedendo, quando em execuo, clicar nesta opo de menu redirecionar para esta pgina.

Figura 25

CrystalReport XI

Verso Beta 02

Pgina 35 de 38

Figura 26

A Figura 27 exibe o lay-out final da pgina PageRelatorioPadrao.ASPX em execuo.

Figura 27

Passo 11
Adicione mais uma Web Form ao projeto nomeando-o como PageExiberelatorio.ASPX (Figura 28).
Esta pgina ter como funo exibir todos os relatrios do projeto. Neste caso, a mesma no
herdar de MasterPage.master, pois servir como preview dos relatrios.

Figura 28

CrystalReport XI

Verso Beta 02

Pgina 36 de 38

Aplique os controles CrystalReportSouce e CrystalReportViewer, respectivamente controle que


representa o arquivo RPT do CrystalReport e o gerador de preview para os dados do relatrio.
Tais controles so obtidos da aba Elaborando relatrio, obtido na Toolbox. Ver Figura 29.
Aproveite e renomeie os controles
CrystalReportSouce1 e
CrystalReportSouce e CrystalReportViewer respectivamente.

CrystalReportViewer1 para

Figura 29

Configure a propriedade Escolher origem de relatrio do controle CrystalReportViewer, indicando o


objeto CrystalReportSource.

Figura 30

Na sequncia temos as Listagens 03, 04 e 05, onde podemos obter todo o cdigo necessrio para
que o projeto funcione. Confira o mesmo, copiando e aplicando os cdigos em suas respectivas
pginas.

CrystalReport XI

Verso Beta 02

Listagem 03 - Cdigo Fonte da Pgina PageRelatorioPadrao.ASPX


1.

using System;

2.

using System.Collections.Generic;

3.

using System.Linq;

4.

using System.Web;

5.

using System.Web.UI;

6.

using System.Web.UI.WebControls;

7.

using CrystalDecisions.CrystalReports.Engine;

8.

using CrystalDecisions.Shared;

9.
10. public partial class PageRelatorioPadrao : System.Web.UI.Page
11. {
12.

protected void ButtonImprimir_Click(object sender, EventArgs e)

13.

14.

CrystalDecisions.Web.ParameterCollection ColecaoParametros =

15.

new CrystalDecisions.Web.ParameterCollection();

16.

CrystalDecisions.Web.Parameter Parametro =

17.

new CrystalDecisions.Web.Parameter();

18.

Parametro.Name = "Par_NomeParcialCliente";

19.

Parametro.DefaultValue = TextBoxNomeParcial.Text + "*";

20.

ColecaoParametros.Add(Parametro);

21.

Session["ColecaoParametros"] = ColecaoParametros;

22.

Session["NomeRelatorio"] = "RPT\\Exemplo_02.RPT";

23.

Response.Redirect("PageExibeRelatorio.ASPX");

24.

25. }

Listagem 04 - Cdigo Fonte do Arquivo Web.Config


1.

<?xml version="1.0"?>

2.

<configuration>

3.
4.
5.
6.
7.
8.

<system.web>
<compilation debug="false" targetFramework="4.0" />
</system.web>
<connectionStrings>
<add name="conexaoSQL"
connectionString="Data Source=LAERCIO-NOTE\SQLEXPRESS;

9.

database=BancoCursoCSharp;

10.

user=sa;

11.

Password=123;

12.
13.
14.
15.

Persist Security Info=True;"


providerName="System.Data.SqlClient"
/>
</connectionStrings>

16. </configuration>

Pgina 37 de 38

CrystalReport XI

Verso Beta 02

Pgina 38 de 38

Listagem 05 - Cdigo Fonte da Pgina PageRelatorioPadrao.ASPX


1.

using System;

2.

using System.Collections.Generic;

3.

using System.Linq;

4.

using System.Web;

5.

using System.Web.UI;

6.

using System.Web.UI.WebControls;

7.

using System.Data;

8.

using System.Configuration;

9.

using System.Data.SqlClient;

10. using CrystalDecisions.CrystalReports.Engine;


11.
12. public partial class PageExibeRelatorio : System.Web.UI.Page
13. {
14.

protected void Page_Load(object sender, EventArgs e)

15.

16.

CrystalReportSource.Report.FileName = (String)Session["NomeRelatorio"];

17.

CrystalReportViewer.ReportSource = CrystalReportSource;

18.

string connectionString =

19.

ConfigurationManager.ConnectionStrings["ConexaoSQL"].ConnectionString;

20.

SqlConnectionStringBuilder SConn =

21.

new SqlConnectionStringBuilder(connectionString);

22.

CrystalReportSource.ReportDocument.DataSourceConnections[0].SetConnection(

23.

SConn.DataSource,

24.

SConn.InitialCatalog,

25.

SConn.UserID,

26.

SConn.Password);

27.

foreach (CrystalDecisions.Web.Parameter Parametro in

28.

(CrystalDecisions.Web.ParameterCollection)Session["ColecaoParametros"])

29.

30.

CrystalReportSource.Report.Parameters.Add(Parametro);

31.

32.
33.

CrystalReportSource.DataBind();
}

34. }

Por fim, a Figura 31 exibindo um relatrio do CrystalReport por intermdio da aplicao Asp.Net.

Figura 31

Anda mungkin juga menyukai