Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ar62

ReportViewer - Como inserir um controle de paginação e data

Recommended Posts

Ola Pessoal, estou desenvolvendo meu primeiro relatorio em reportviewer e preciso que seja inserido no proprio relatorio a paginação e data que esta sendo impresso o relatorio, alguem tem algum parametro ou algum link em que eu possa verificar o procedimento dessa funcionabilidade, grato a todos que postarem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você esta fazendo em ASP Classic ou ASP.Net ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola, estou desenvolvendo em asp.net usando Visual Studio 2010 usando a ferramenta ReportViewer

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então porfavor poste no fórum de Plataforma .Net, este é apenas ASP Classic. Mas ai vai uns exemplos:

 

ReportViewer em aplicações ASP .NET usando a linguagem VB .NET. Se você nunca trabalhou com este componente sugiro que leia os artigos citados nas referências.

Eu vou usar os seguintes recursos nos exemplos deste artigo:

  • Visual Studio 2008
  • SQL Server 2008 Express Edition
  • ReportViewer 2008

Nosso objetivo será gerar relatórios dinâmicos e vou mostrar alguns cenários que podemos ter e como podemos obter um resultado satisfatório usando o componente ReportViewer 2008. Lembrando que temos outras opções para gerar relatórios em aplicações ASP .NET como por exemplo usar o Crystal Reports isso sem falar nos componentes de terceiros que podemos usar; a seguir cito alguns deles para conhecimento:

A primeira coisa que temos que ter em mente é que se tivermos uma estrutura de dados fortemente tipada o nosso trabalho ficará mais fácil e por isso vamos trabalhar com dataset fortemente tipado.

Nosso primeira etapa será criar o dataset tipado e nosso ponto de partida será a tabela Vendas do banco de dados macoratti.mdf criado no SQL Server 2008 que estou usando para este exemplo. A estrutura da tabela Vendas é bem simples e esta exibida abaixo e ao lado vemos alguns dados que já inclui na tabela:

 

rptv_rd11.gifrptv_rd12.gif

 

Devemos ter uma conexão ativa com o banco de dados usado através da janela Server Explorer:

 

rptv_rd10.gif - Se a conexão não estiver ativa clique em Data Connections com o botão direito do mouse e selecione Add New Connection;

- A janela Add Connection irá surgir onde você deve informar o nome do servidor e selecionar o banco de dados.

obs: para a máquina local o servidor pode ser definido como .\SQLEXPRESS

 

A idéia ao criar o dataset tipado e que para vincular o relatório a uma instrução SELECT precisamos criar um dataset que contém exatamente as mesmas colunas que desejamos retornar, e, dessa forma poderemos trabalhar com filtros, vinculações e ordenações mas a estrutura deverá permanecer a mesma.

No menu WebSite clique em Add New Item e a seguir selecione o template DataSet informando o nome Vendas.xsd e clicando em Add;

 

rptv_rd13.gif

 

Na janela Solution Explorer selecione o dataset Vendas.xsd criado e a partir da janela Server Explorer arraste a tabela Vendas para o descritor dataset para criar o dataset tipado conforme abaixo:

 

rptv_rd14.gif

 

Com o dataset tipado criado vamos criar o relatório no ReportViewer. No menu WebSite selecione Add New Item e a seguir selecione o template Report informando o nome Vendas.rdlc e clicando no botão Add;

 

rptv_rd15.gif

 

A partir da ToolBox arraste o objeto Table para descritor Vendas.rdlc e a partir da janela Web Site DataSource inclua cada um dos campos do dataset na respectiva coluna da tabela conforme a figura abaixo:

 

rptv_rd16.gif

 

Nota: Observe que o nome do DataSource é Vendas_Vendas. Você pode verificar isso no menu Report.

Como relatório criado vamos incluir um componente MicrosoftReportViewer a partir da ToolBox no formulário web Default.aspx;

 

rptv_rd17.gif

 

Finalmente insira o código a seguir no evento Load do formulário no arquivo code-behind Default.aspx.vb:

namespaces usados:

Imports Microsoft.Reporting.WebForms
Imports System.Data
Imports System.Data.SqlClient

código do evento Load:

 

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'define o modo Local como o processamneto para o ReportViewer 
        ReportViewer1.ProcessingMode = ProcessingMode.Local
        Dim rep As LocalReport = ReportViewer1.LocalReport        'obtem o caminho do relatório
        Dim caminhoRpt As String = HttpContext.Current.Server.MapPath("~/")
        'define o local do relatorio criado
        rep.ReportPath = caminhoRpt & "Vendas.rdlc"        'obtem o dataset
       Dim ds As DataSet = GetVendas()
        'Cria uma fonte de dados no relatório para o dataset vendas
        Dim dsVendasRpt As New ReportDataSource()
        'define o nome do datasource
        dsVendasRpt.Name = "Vendas_Vendas"
        'usa primeira tabela do dataset
        dsVendasRpt.Value = ds.Tables(0)
        'atribui o datasource ao relatorio
        rep.DataSources.Add(dsVendasRpt)
    End Sub

 

 

Observe que temos uma função que retorna o dataset que será usado como fonte do relatório.

O código da função GetVendas() é dado a seguir:

 

Private Function GetVendas() As DataSet
        Dim ds As New DataSet
        Dim sqlVendas As String = _
                    "SELECT vendedorid, nome, " & _
                    "       cota, vendas, regiao " & _
                    "FROM   Vendas "
        Using conexaoSQL As New SqlConnection( _
                                                                  "Data Source=.\SQLEXPRESS; " & _
                                                                  "Initial Catalog=macoratti; " & _
                                                                  "User ID=macoratti;Password=numsey")
 
            Dim command As New SqlCommand(sqlVendas, conexaoSQL)
            Dim daVendas As New SqlDataAdapter(command)
            daVendas.Fill(ds, "Vendas")
            daVendas.Dispose()
            command.Dispose()
        End Using
      Return ds
    End Function

 

 

Este código é bem simples, ele acessa a nossa base de dados e gera um dataset com as informações desejadas.

Executando o projeto iremos obter:

 

rptv_rd18.gif

 

 

Outro exemplo simples:

 

1- Abra o VS e crie um novo Web Site com o nome de aspnetRelatorio (ou algo parecido)

2- Selecione a página Default.aspx e no modo Design abra a ToolBox e procura na aba Data pelo componente ReportViewer.(Se você instalou o add-in corretamente ele deverá aparecer neste local). Selecione o componente e arraste-o e solte na página Default.aspx e você verá o descritor do ReportViewer exibido conforme a figura abaixo:

 

aspngrv1.gif

 

3- Selecione a opção Design a new Report do descritor

4- Será exibido a janela Design do ReportView exibindo o relatório Report1.rdlc conforme a figura abaixo:

 

aspngrv2.gif

 

Perceba que a ToolBox apresenta um novo formato com a Aba Report Items exibindo os objetos : Pointer,TextBox,Line,Table,Matrix,Rectangle,List,etc...

Vamos trabalhar com objeto Table arrastando e soltando o mesmo na seção Body do descrito do ReportViewer. Fazendo isto obtemos:

 

aspngrv3.gif

 

Altere a visualização para a aba WebSite Data Sources e a seguir clique no em Add New Data Source. O assistente de configuração irá surgir , selecione a banco de dados clientes.mdf e clique em Next>

 

aspngrv4.gif

 

Prossiga até incluir a tabela Clientes e usando o Query Builder construir a instrução SQL para exibir os dados da tabela Clientes conforme abaixo:

 

aspngrv5.gif

 

Ao terminar você será levado de volta ao Descrito do relatório e a aba WebSite Data Sources estará exibindo o dataset conforme figura a seguir:

 

aspngrv6.gif

 

Inclua mais uma coluna no objeto Table inserido no descritor clicando com o botão direito do mouse sobre o objeto e selecionando a opção: Insert Column to the Right

A seguir arraste cada um dos campos do dataset para o descritor conforme a figura abaixo e o relatório estará pronto para exibir os dados da tabela Clientes.

 

aspngrv7.gif

 

Você pode configurar o relatório alterando a fonte, a cor , etc. Abaixo o relatório que formatei para exibição:

 

aspngrv9.gif

 

Volte para a página Default.aspx e selecione em Choose Report selecione o relatório que acabamos de criar acima:

 

aspngrv8.gif

 

Basta executar a o projeto no servidor ASP.NET e você verá o relatório ser exibido conforme figura abaixo:

 

aspngrva.gif

 

Note que você tem a opção de exportar o relatório no formato Excel ou PDF.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.