Home All Groups Group Topic Archive Search About

Data Source with ReportViewer

Author
23 Mar 2006 7:31 AM
Xpeppe
Hy, i read the article in msdn2

Using a Database Data Source with the ReportViewer Windows Forms Control in
Local Processing Mode

But i don want to use the designer assosation to the report,
i want to define by code (at run time) the report and the
data source to be display.

example :

i have two table on sqlclient db file (anagrafica and pratica)
and i have two report (rpt_anagrafica.rdlc and rpt_pratica.rdlc)

in a form a have two button, one for visualize the first repor (whit his
data anagrafica) and
one to visualize the second report (whit his data pratica) ,
when run the application i want to decide what report to be visualize.

for this i don't now what is the metod
have yuo any example ?

I hope explain correctly (sorry for my english) thank's.

Author
23 Mar 2006 8:53 AM
Pieter
Hi,

I don't know if I understood your suestion very good, but I thought you
wanted to chose at runtime the report to show? I'm using myself a solution
like this: One form, that contains one reportviewer, and I'm using the same
to show all my reports (based on a parameter).

This is my code:

'This comes in the form-load
            Me.rpvwReport.ProcessingMode =
Microsoft.Reporting.WinForms.ProcessingMode.Remote
'"ReportServerUrl"="http://MyServer/reportserver2005"
            Me.rpvwReport.ServerReport.ReportServerUrl = New
System.Uri(System.Configuration.ConfigurationManager.AppSettings.Get("ReportServerUrl"),
System.UriKind.Absolute)


'method to show a given report (defines buy my variabel Me.m_ReportType)
    Public Overridable Sub Fill()
        Dim colPrm As New Generic.List(Of ReportParameter)
        Dim prm As ReportParameter
        Dim clsRep As clsReport = Nothing

        Try
            Select Case Me.m_ReportType        'select which report to show
(currently only one)
                Case enumReportType.RepDemandeDeCotation
                    'charge le rapport de la DemandeDeCotation
                    clsRep =
clsWorkSpace.MyWorkSpace.GetReportFromReportName("DemandeDeCotation")
                    prm = New ReportParameter("intCotationID",
Me.m_Document.PrimaryKey)
                    colPrm.Add(prm)
                    prm = New ReportParameter("intPersonneID",
Me.cmbResponsable.SelectedValue.ToString)
                    colPrm.Add(prm)
            End Select
            '52RE6_001.pdf"
        Catch ex As Exception
            ErrorMessage(ex, "Select Case Me.m_ReportType")
        End Try

        Try
            If clsRep Is Nothing Then
                'problem
                MessageBox.Show("Le rapport ne peut pas être trouvé sur le
serveur.", "Pas de rapport", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Else
                Me.rpvwReport.ServerReport.ReportPath = clsRep.ReportPath
                Me.rpvwReport.ServerReport.SetParameters(colPrm)
                Me.rpvwReport.RefreshReport()
            End If
        Catch ex As Exception
            ErrorMessage(ex, "SetParameters")
        End Try

        Me.HasLoaded = True
    End Sub



Show quoteHide quote
"Xpeppe" <xpe***@libero.it> wrote in message
news:a9sUf.45516$PR2.826087@twister2.libero.it...
> Hy, i read the article in msdn2
>
> Using a Database Data Source with the ReportViewer Windows Forms Control
> in Local Processing Mode
>
> But i don want to use the designer assosation to the report,
> i want to define by code (at run time) the report and the
> data source to be display.
>
> example :
>
> i have two table on sqlclient db file (anagrafica and pratica)
> and i have two report (rpt_anagrafica.rdlc and rpt_pratica.rdlc)
>
> in a form a have two button, one for visualize the first repor (whit his
> data anagrafica) and
> one to visualize the second report (whit his data pratica) ,
> when run the application i want to decide what report to be visualize.
>
> for this i don't now what is the metod
> have yuo any example ?
>
> I hope explain correctly (sorry for my english) thank's.
>
Author
23 Mar 2006 9:08 AM
Cor Ligthert [MVP]
Pieter,

Ben jij een Waal/van Brussel?

Maybe did you it earlier that I did not see it, otherwise,

Nice to see you starting anwering here questions.

:-)

Cor

Show quoteHide quote
"Pieter" <pietercou***@hotmail.com> schreef in bericht
news:udfZNdlTGHA.4452@TK2MSFTNGP12.phx.gbl...
> Hi,
>
> I don't know if I understood your suestion very good, but I thought you
> wanted to chose at runtime the report to show? I'm using myself a solution
> like this: One form, that contains one reportviewer, and I'm using the
> same to show all my reports (based on a parameter).
>
> This is my code:
>
> 'This comes in the form-load
>            Me.rpvwReport.ProcessingMode =
> Microsoft.Reporting.WinForms.ProcessingMode.Remote
> '"ReportServerUrl"="http://MyServer/reportserver2005"
>            Me.rpvwReport.ServerReport.ReportServerUrl = New
> System.Uri(System.Configuration.ConfigurationManager.AppSettings.Get("ReportServerUrl"),
> System.UriKind.Absolute)
>
>
> 'method to show a given report (defines buy my variabel Me.m_ReportType)
>    Public Overridable Sub Fill()
>        Dim colPrm As New Generic.List(Of ReportParameter)
>        Dim prm As ReportParameter
>        Dim clsRep As clsReport = Nothing
>
>        Try
>            Select Case Me.m_ReportType        'select which report to show
> (currently only one)
>                Case enumReportType.RepDemandeDeCotation
>                    'charge le rapport de la DemandeDeCotation
>                    clsRep =
> clsWorkSpace.MyWorkSpace.GetReportFromReportName("DemandeDeCotation")
>                    prm = New ReportParameter("intCotationID",
> Me.m_Document.PrimaryKey)
>                    colPrm.Add(prm)
>                    prm = New ReportParameter("intPersonneID",
> Me.cmbResponsable.SelectedValue.ToString)
>                    colPrm.Add(prm)
>            End Select
>            '52RE6_001.pdf"
>        Catch ex As Exception
>            ErrorMessage(ex, "Select Case Me.m_ReportType")
>        End Try
>
>        Try
>            If clsRep Is Nothing Then
>                'problem
>                MessageBox.Show("Le rapport ne peut pas être trouvé sur le
> serveur.", "Pas de rapport", MessageBoxButtons.OK, MessageBoxIcon.Error)
>            Else
>                Me.rpvwReport.ServerReport.ReportPath = clsRep.ReportPath
>                Me.rpvwReport.ServerReport.SetParameters(colPrm)
>                Me.rpvwReport.RefreshReport()
>            End If
>        Catch ex As Exception
>            ErrorMessage(ex, "SetParameters")
>        End Try
>
>        Me.HasLoaded = True
>    End Sub
>
>
>
> "Xpeppe" <xpe***@libero.it> wrote in message
> news:a9sUf.45516$PR2.826087@twister2.libero.it...
>> Hy, i read the article in msdn2
>>
>> Using a Database Data Source with the ReportViewer Windows Forms Control
>> in Local Processing Mode
>>
>> But i don want to use the designer assosation to the report,
>> i want to define by code (at run time) the report and the
>> data source to be display.
>>
>> example :
>>
>> i have two table on sqlclient db file (anagrafica and pratica)
>> and i have two report (rpt_anagrafica.rdlc and rpt_pratica.rdlc)
>>
>> in a form a have two button, one for visualize the first repor (whit his
>> data anagrafica) and
>> one to visualize the second report (whit his data pratica) ,
>> when run the application i want to decide what report to be visualize.
>>
>> for this i don't now what is the metod
>> have yuo any example ?
>>
>> I hope explain correctly (sorry for my english) thank's.
>>
>
>
Author
23 Mar 2006 1:41 PM
Pieter
"Cor Ligthert [MVP]" <notmyfirstn***@planet.nl> wrote in message
news:O8hLgklTGHA.4384@tk2msftngp13.phx.gbl...
> Pieter,
>
> Ben jij een Waal/van Brussel?

Hi Cor,
Actually I'm from Gent, so I'm a Vlaming :-) But I do work for a
French-speaking Belgium/French Company, with parts in Africa. So the
official language in the company is French :-) I know I sometimes post
French comments in my code, or use French names. My apologizes, hehe. I'd
rather prefer too that Dutch was the offical world-language ;-)

> Maybe did you it earlier that I did not see it, otherwise,
>
> Nice to see you starting anwering here questions.
>

I did alreaddy answer a lot of questions before, but only if I do have some
real experience in the domain, and off course only when I know the answer,
hehe. I have to admit that I could answer a lot more questions, but most of
the time somebody else (like you) did it alreaddy before I see them :-)

Show quoteHide quote
> :-)
>
> Cor