Aiuto con ReportViewer1

martedì 23 giugno 2009 - 13.18

Marcomg64 Profilo | Newbie

Salve a tutti,
premetto che programmo da poco e sto tentando di costruitre un
programma per le consegne del mio negozio.
Uso Visual Studio 2005 e come base dati Sql Server 2005
Ho un problema con le stampe in ReportViewer1
Ho creato il DataSetConsegne.xsd contenente
1 )la TableAdapter SP_StampaRielpilogoQtTableAdapter.FillTotQt ecc.
La SP_StampaRielpilogoQtTableAdapter eè una StoredProcedure con parametri
2) V_AziendaTableAdapter.Fill(Me.DataSetConsegne.V_Azienda)
E’ una vista
Ora se scelgo il report (\\... rdlc) e l’origine del report direttamente dal
ReportViewer1 Vengono create le seguenti righe nell eventto load
Me.SP_StampaRielpilogoQtTableAdapter.FillTotQt(Me.DataSetConsegne.SP_StampaRielpilogoQt, Lbel1Param1, Lbel1Param2, Lbel1Param3)
Me.V_AziendaTableAdapter.Fill(Me.DataSetConsegne.V_Azienda)
Me.ReportViewer1.RefreshReport()
E tutto funziona bene.
Ma vorrei usare il file Stampa.vb
Che contiene le label Lbel1Param1, Lbel1Param2, Lbel1Param3 per il
passaggio dei parametri e Il ReportViewer1 per altre stampe.
Devo impostare il datasource da codice ma visualizza l’errore :
non è stata fornita un istanza dell’origine dei dati per l’origine dei dati
DataSetConsegne.SP_StampaRielpilogoQt

Ecco il codice contenuto in un Button
Me.ReportViewer1.LocalReport.DataSources.Clear()

Me.ReportViewer1.LocalReport.ReportPath = "….\Percorso\RptRiepilogo.rdlc"
' associa la base dati
Dim rptSource1 As New Microsoft.Reporting.WinForms.ReportDataSource
rptSource1.Name = "DataSetConsegne.SP_StampaRielpilogoQt"
rptSource1.Value = Me.SP_StampaRielpilogoQtBindingSource
Me.ReportViewer1.LocalReport.DataSources.Add(rptSource1)
Me.ReportViewer1.RefreshReport()
Vi prego di aiutarmi non riesco ad andare avanti

Jeremy Profilo | Guru

Ciao Marco.
Non so se il problema sia questo(anche perchè non ho ben capito l'obbiettivo), ma, sicuramente, questa riga è sbagliata:
>rptSource1.Value = Me.SP_StampaRielpilogoQtBindingSource
Forse, dovresti modificarla in questo modo:
rptSource1.Value = DataSetConsegne.SP_StampaRielpilogoQt

Prova ed eventualmente .... facci sapere.
Ciao.

Marcomg64 Profilo | Newbie

>Ciao Marco.
>Non so se il problema sia questo(anche perchè non ho ben capito
>l'obbiettivo), ma, sicuramente, questa riga è sbagliata:
>>rptSource1.Value = Me.SP_StampaRielpilogoQtBindingSource
>Forse, dovresti modificarla in questo modo:
>rptSource1.Value = DataSetConsegne.SP_StampaRielpilogoQt
>
>Prova ed eventualmente .... facci sapere.
>Ciao.
>
Grazie Jeremy l'obiettivo è usare il form per + stampe
ho corretto con rptSource1.Value = DataSetConsegne.SP_StampaRielpilogoQt
ma da sempre lo stesso errore dove sbaglio ????

Jeremy Profilo | Guru

>Grazie Jeremy l'obiettivo è usare il form per + stampe
Fammi capire bene ..... tu hai un form con un reportviewer.
Vuoi utilizzarlo per visualizzare più report....giusto???
Nel tuo progetto hai, quindi, più di un report .... giusto???
Avrai Report1.rdlc e Report2.rdlc.
Tu vuoi visualizzare sia Report1.rdlc sia Report2.rdlc con lo stesso ReportViewer???

Facci sapere...
Ciao.

Marcomg64 Profilo | Newbie

>>Grazie Jeremy l'obiettivo è usare il form per + stampe
>Fammi capire bene ..... tu hai un form con un reportviewer.
>Vuoi utilizzarlo per visualizzare più report....giusto???
>Nel tuo progetto hai, quindi, più di un report .... giusto???
>Avrai Report1.rdlc e Report2.rdlc.
>Tu vuoi visualizzare sia Report1.rdlc sia Report2.rdlc con lo
>stesso ReportViewer???
>
>Facci sapere...
>Ciao.
>

Esatto nel report1 avro un cersto tipo di stampa che punta ad una SP, nel report2 un'altra stampa che punta ad un 'altra SP. con parametri ma invece di creare + form con all'interno reportviewer vorrei utillazre sempre lo stesso passando il nome Rdlc e il datasource . Spero di essere stato chiaro e ti ringrzio se potrai aiutarmi ho scritoo anche in altri forum ma nessuno finora mi ha aiutato a capire dove sbaglio. Grazie

Jeremy Profilo | Guru

Ciao Marco.
Allora ti stai solo complicando la vita....è seplicemente sufficiente modificare la proprieta LocalReport.ReportPath del ReportViewer.
ReportViewer1.LocalReport.ReportPath = "Report1.rdlc" ReportViewer1.RefreshReport()
oppure
ReportViewer1.LocalReport.ReportPath = "Report2.rdlc" ReportViewer1.RefreshReport()

Facci sapere...
Ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5