none
Passar valores para o page Header RRS feed

  • Pergunta

  • Saudações,

    Estou a procura de uma maneira de passar um texto
    , via codigo, para um texbox dentro do header de um report.rdlc.

    []'s
    segunda-feira, 29 de setembro de 2008 20:34

Respostas

  • Olá Lecio,

     

    Fico feliz que os vídeos tenham ajudado! E obrigado pelo feedback.

     

    ...Agora falta conseguir passar imagem para o header, no seu video 2 mostra como passar, no caso la no projeto ja tinha o arquivo físico da imagem...

     

    Resposta: Neste caso a imagem a ser visualizada no cabeçalho está no banco de dados correto?

     

    Você pode utilizar o mesmo código que eu utilizei para exibir todos os registros com as imagens, a única diferença que no seu SQL vc vai adicionar uma clausula where para retornar apenas um registro com a imagem a ser visualizada no relatório.

     

    Se precisar do código eu tenho nesse post que eu ajudei a responder:

     

    Campo imagem do sqlserver + crystal reports

    http://forums.microsoft.com/msdn-br/ShowPost.aspx?PostID=3149607&SiteID=21

     

    Valeu!

     

     

    Ajude a melhorar o nosso Fórum!
    Não esqueça de marca a mensagem como "útil", caso tenha ajudado.

     

    sexta-feira, 3 de outubro de 2008 02:42
    Moderador

Todas as Respostas

  • Lecio,

     

    Como implementar através de um parâmetro no ReportViewer:

     

    1 passo: criar o parâmetro no ReportViewer

     

    Abra o ReportView, selecione o menu: Report - Report Parameters (vai abrir a janela "Report Parameters"), clique no botão Add e defina as propriedades:

     

    Name       = nome_do_parametro
    Data type = tipo de dados

     

    (além disso, existem as propriedades Allow null value, Allow blank value), selecione as opções que se aplicam a sua necessidade.


    Adicione um novo controle textbox ao Report, clique com o botão da direita no controle e selecione a opção Expression (vai abrir a janela Expression), selecione na treeview "Category" o item Parameters, na listview "parameter" vai aparecer o parâmetro que vc criou, clique (double click) no item (ele vai aparecer na parte de cima)

     

    exemplo:

    Code Snippet
    =Parameters!nome_do_parametro.Value

     

     

     

    Como passar o parâmetro via código:

     

    Code Snippet

    '2 passo: definindo o parƒmetro do relat¢rio

    Dim prmReport As ReportParameter = New ReportParameter("NomeForum", "MSDN Brasil")

    rvPreview.LocalReport.SetParameters(New ReportParameter() {prmReport})

     

     

    Um exemplo completo em VB.NET

     

    Code Snippet

    Option Explicit On

    Option Strict On

    'provider do banco de dados

    Imports System.Data.SqlClient

    Imports System.Data

    'reportview

    Imports Microsoft.Reporting.WinForms

    'outros

    Imports System.Text 'StringBuilder

    Imports System.Configuration 'ConnectionStrings

    Imports System.IO 'Path.Combine

     

     

    Code Snippet

    Private Sub wfmReportSQLServer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    PreviewRelClientes(CarregarListaClientes())

    Me.rvPreview.RefreshReport()

    End Sub

     

     

    Code Snippet

    Private Sub PreviewRelClientes(ByVal oTable As DataTable)

    Try

    '1 passo: definindo o relat¢rio a ser visualizado (ReportPath)

    Dim strPathreport As String = _

    Path.Combine(Application.StartupPath, "rdlCustomer.rdlc")

    strPathreport = strPathreport.Replace("bin\Debug\", "")

    rvPreview.LocalReport.ReportPath = strPathreport

     

    '2 passo: definindo o parƒmetro do relat¢rio

    Dim prmReport As ReportParameter = New ReportParameter("NomeForum", "MSDN Brasil")

    rvPreview.LocalReport.SetParameters(New ReportParameter() {prmReport})

     

    '3 passo: definindo o DataSource do relat¢rio

    Dim myReportDataSource As ReportDataSource = _

    New ReportDataSource("dsCustomer", oTable)

    rvPreview.LocalReport.DataSources.Add(myReportDataSource)

    Catch ex As Exception

    MsgBox(ex.Message)

    End Try

    End Sub

     

     

    Code Snippet

    Private Function CarregarListaClientes() As DataTable

    'definindo a string de conexÆo do banco de dados

    Dim strConexao As String = _

    ConfigurationManager.ConnectionStrings("SQLExpress2008").ToString

    Dim oConn As New SqlConnection(strConexao)

    Dim strSQL As New StringBuilder

    Dim oTable As New DataTable()

    Dim oCmd As SqlCommand = Nothing

    Try

    'abrindo conexÆo com o banco de dados.

    oConn.Open()

    'definindo o SQL

    strSQL.Append(" Select CustomerID ")

    strSQL.Append(" ,CustomerName")

    strSQL.Append(" ,Phone")

    strSQL.Append(" ,EmailAddress")

    strSQL.Append(" ,AddressLine")

    strSQL.Append(" ,City")

    strSQL.Append(" ,StateProvinceName")

    strSQL.Append(" ,PostalCode")

    strSQL.Append(" ,CountryName")

    strSQL.Append(" ,LastUpdate ")

    strSQL.Append(" FROM Customer inner join Country ")

    strSQL.Append(" on Customer.CountryID = Country.CountryID ")

    strSQL.Append(" Order by CountryName, CustomerName ")

    'carregando os dados do banco de dados

    Dim oDA As New SqlDataAdapter(strSQL.ToString, oConn)

    oDA.Fill(oTable)

    Catch ex As Exception

    MsgBox(ex.Message)

    Finally

    'liberando os objetos

    oConn.Dispose()

    oConn = Nothing

    End Try

    Return oTable

    End Function

     

     

     

    Criei um tópico fixo no fórum MSDN com algumas dicas  sobre a construção de relatórios com Crystal Reports e ReportView (incluindo 2 vídeos com vários exemplos de como construir relatórios com os componentes, licença, distribuição, service packs, etc.):

     

    http://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=3761576&SiteID=21

     

     

    Ajude a melhorar o nosso Fórum!
    Não esqueça de marca a mensagem como "útil", caso tenha ajudado.

     

    terça-feira, 30 de setembro de 2008 02:14
    Moderador
  • Laercio..

    Cara, você entende demais desses geradores de relatório.. parabéns !!!!!!!!!!!!

    Consegui fazer tudo beleza graças a você.

    Agora falta conseguir passar imagem para o header, no seu video 2 mostra como passar, no caso la no projeto ja tinha o arquivo físico da imagem. Agora no caso do sistema aqui a imagem está em banco de dados terei de salvá-la fiscamente para poder passar ou tem outra opção ?

    Obrigado de novo!
    quarta-feira, 1 de outubro de 2008 02:04
  • Olá Lecio,

     

    Fico feliz que os vídeos tenham ajudado! E obrigado pelo feedback.

     

    ...Agora falta conseguir passar imagem para o header, no seu video 2 mostra como passar, no caso la no projeto ja tinha o arquivo físico da imagem...

     

    Resposta: Neste caso a imagem a ser visualizada no cabeçalho está no banco de dados correto?

     

    Você pode utilizar o mesmo código que eu utilizei para exibir todos os registros com as imagens, a única diferença que no seu SQL vc vai adicionar uma clausula where para retornar apenas um registro com a imagem a ser visualizada no relatório.

     

    Se precisar do código eu tenho nesse post que eu ajudei a responder:

     

    Campo imagem do sqlserver + crystal reports

    http://forums.microsoft.com/msdn-br/ShowPost.aspx?PostID=3149607&SiteID=21

     

    Valeu!

     

     

    Ajude a melhorar o nosso Fórum!
    Não esqueça de marca a mensagem como "útil", caso tenha ajudado.

     

    sexta-feira, 3 de outubro de 2008 02:42
    Moderador