Data Source with ReportViewer

X

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.
 
P

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
 
C

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
 
P

Pieter

Cor Ligthert said:
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 :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top