Article Details                  
 
Relatórios com Active Reports - Parte 1

O Active Reports é uma ferramenta da DataDynamics, totalmente integrada ao VS.net trazendo uma facilidade muito grande na criação de relatórios. Estarei mostrando os dois tipos de aplicação divididos em duas partes. Parte 1 - Windows e parte 2 - Web.


O Active Reports é uma ferramenta da DataDynamics (www.datadynamics.com), totalmente integrada ao VS.net trazendo uma facilidade muito grande na criação de relatórios tanto em aplicações Windows (winforms) e para aplicações Web. Estarei mostrando os dois tipos de aplicação divididos em duas partes. Parte 1 - Windows e parte 2 - Web.

Cenário

Teremos um arquivo XML simples de clientes chamado alunos.xml. Este arquivo xml será meu repositório de dados, ou seja, a fonte de dados que meu relatório buscará para exibir as informações formatadas. O arquivo terá a seguinte estrutura:

<?xml version="1.0" encoding="iso-8859-1" ?> 
<tblAluno>
<aluno>
<matricula>00001</matricula>
<nome>João Paulo da Silva</nome>
<endereco>Rua Bela Moema, 123</endereco>
<bairro>Centro</bairro>
<cidade>SP</cidade>
<estado>SP</estado>
<telefone>4359-4857</telefone>
</aluno>
<aluno>
<matricula>00002</matricula>
<nome>Ernesto Lopes</nome>
<endereco>Rua das tulipas, 45</endereco>
<bairro>Tatuapé</bairro>
<cidade>SP</cidade>
<estado>SP</estado>
<telefone>3148-2547</telefone>
</aluno>
<aluno>
<matricula>00003</matricula>
<nome>Paulo Manga</nome>
<endereco>Rua do Pão, 49</endereco>
<bairro>Consolação</bairro>
<cidade>SP</cidade>
<estado>SP</estado>
<telefone>3523-4878</telefone>
</aluno>
</tblAluno>

Criando Relatório com Active Reports - Winforms

Será um relatório que listará todos os alunos do arquivo XML alunos.aspx. Através de um DataSet que vai ler o arquivo alunos.xml, vamos listar todas as informações formatadas.

Inicie um projeto do tipo Visual Basic e selecione o template Windows Application com o nome ActiveReports.


O primeiro passo é a construção do relatório no Active Reports. Clique com o botão direito do mouse no projeto dentro do solution Explorer, Add, Add New Item. Selecione o template ActiveReportsFile.


É criado um formulário com o formato de um relatório. Os controles que compõe o relatório ficam na Toolbox, no grupo ActiveReports. A utilização dos controles é semelhante à de um formulário normal.

O relatório fica dividido em 3 partes: PageHeader (Topo), Detail (Itens) e PageFooter (Rodapé).


No PageHeader vamos adicionar o título do relatório e as descrições dos itens listados no relatório, conforme abaixo:


No Detail teremos que adicionar os TextBox dos campos de detalhe vinculados ao campo que ele se refere no banco de dados. Para fazer isto, basta vincular a propriedade DataField do textbox de acordo com o nome do atributo no arquivo alunos.xml.




























Monte os details conforme abaixo:


No PageFooter vamos adicionar o número de páginas do relatório. Basta adicionar um TextBox chamado txtPagina e altera as propriedades SummaryRunning = All e SummaryTupe = PageCount.

Nosso relatório já está pronto, o próximo passo agora será a chamada do relatório. Para realizar a chamada, vamos criar um formulário chamado frmRelatorio.


No frmRelatorio temos que adicionar o Controle de Visualização do Active Reports. Basta adicionar na ToolBox (Add/Remove Itens) o componente Viewer, conforme mostra a imagem abaixo.


Na ToolBox, será adicionado o controle na última posição:


Adicione ao formulário o Viewer e altere as seguntes propriedades:













Altere algumas propriedades do frmRelatorio:













Adicione um Button chamado btnRelatorio com a propriedade Text = "Chama Relatório", a chamada do relatório será feita neste botão da seguinte maneira:

Private Sub btnAbre_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles btnAbre.Click
Dim rpt As Object
Dim Relatorio As New frmRelatorio

'Seleciona o arquivo cliente.xml
ofdCaminho.ShowDialog()
Dim strCaminho As String = ofdCaminho.FileName
If strCaminho = "" Then
MsgBox("Selecione um Caminho")
Exit Sub
End If

'Cria o DataSet e abre o XML
Dim ds As New DataSet
ds.ReadXml(strCaminho)

rpt = New rptCliente

'Chama a função que gera o relatório
Relatorio.GeraRelatorioDS(rpt, ds)

Relatorio.ShowDialog()
End Sub

Temos que criar a função GeraRelatorioDS:

Public Sub GeraRelatorioDS(ByVal RPT As Object, ByVal DS As DataSet)

Try

Me.vieRelatorio.Document = RPT.document

RPT.DataSource = DS.Tables(0)

RPT.Run(True)

Catch erro As Exception

MsgBox(erro.Message, MsgBoxStyle.Critical + MsgBoxStyle.OKOnly, "Erro")

End Try

End Sub

Pronto, execute a aplicação e clique no botão Abrir Relatório e o relatório de clientes será exibido abaixo:


Conclusão: A Active reports traz diversas outras funcionalidades que não foram mostradas, em comparação com o Crystal Reports traz algumas funcionalidades a mais... maiores informações sobre o produto entre no site www.datadynamics.com que diversos exemplos podem ser baixado.

O exemplo mostrado foi um exemplo bem simples onde carregamos o relatório a partir de um DataSet, porém pode ser carregado através de um DataReader também. Estarei mostrando na Parte 2 deste artigo como chamar este mesmo relatório na Web. Qualquer dúvida me envie um e-mail.

Agradeço ao David Pomarico pela ajuda na elaboração deste artigo.

Se você tem interesse em aprender .net ou discutir .net entre no grupo de usuários Codificando.net - São Paulo.

Se tiver alguma dúvida, crítica, sugestão de artigo, fale comigo: atarifa@deloitte.com


Abraços

Alexandre Tarifa


ONDE COMPRAR:
Comptools:
http://www.comptools.com.br/produto.asp?codproduto=CF-00079


Written By: labreu
Date Posted: 4/14/2006
Number of Views: 566

Return