Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
Crystal Reports e reportistica
Sotto Report con Reportviewer
lunedì 11 maggio 2009 - 18.30
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
dvd75
Profilo
| Newbie
40
messaggi | Data Invio:
lun 11 mag 2009 - 18:30
Ciao a tutti, mi chiamo David e sono un dilettante che stà per concludere la sua prima vera applicazione in Visual studio 2008 dopo qualche trascorso sempre come autodidatta in Visual Basic 6
Detto ciò mi manca davvero l'ultima cosa e poi ho termito la mia semplice applicazione, ma questo benedetto sottoreport proprio non son capace, cercando si trova poco per adesso ho fatto i seguenti passi che vi descrivo, ma ricevo sempre il classico "Impossibile visualizzare il sottoreport..."
Ho un dataset generato da un file di Access versione 2003: dbArchivioDataSet
Datatable (query) PADRE: qryComputi
Datatable (query) FIGLIA : qryRaggruppamento_AP
Campo relazione: IDComputo
Ho generato il report padre (Computo) e il report figlio(Conteggio) il campo che mette in relazione i due datatable è IDComputo
Ho inserito un parametro nel report figlio con nome IDComputo ed una volat inserito il sottoreport nel padre ho correlato il parametro del figlio con la casella dati (=Fields!IDComputo.Value) che si trova sul padre
Ecco il codice che ho messo nel form che contiene il reportviewer :
Public Class frmReportDistinta
Private Sub frmReportDistinta_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.qryComputiTableAdapter.FillIDLavoro(Me.dbArchivioDataSet.qryComputi, IDLavoro)
Me.qryRaggruppamento_APTableAdapter.Fill(Me.dbArchivioDataSet.qryRaggruppamento_AP) '.....(*)
AddHandler Me.ReportViewer1.LocalReport.SubreportProcessing, AddressOf Me.LocalReport_SubreportProcessing
Me.ReportViewer1.RefreshReport()
End Sub
Private Sub LocalReport_SubreportProcessing(ByVal sender As Object, ByVal e As SubreportProcessingEventArgs)
e.DataSources.Add(New ReportDataSource("dbArchivioDataSet", Me.qryRaggruppamento_APBindingSource))
End Sub
End Class
(*)Come si legge ho tentato di riempire con i dati il datatable del dettaglio con fill...ma niente...dove sbaglio?
Grazie 1000
P.S. nell'attesa mi sono organizzato con crystal, che è molto più intuitivo(almeno per me), però mi resta la sensazione che sia un pò più "pesante" crystal, quindi appena avete 5 minuti toglietemi stò tarlo del sottoreport "maledetto" :)
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
lun 18 mag 2009 - 15:38
>(*)Come si legge ho tentato di riempire con i dati il datatable
>del dettaglio con fill...ma niente...dove sbaglio?
>Grazie 1000
ciao, il codice che hai scritto mi sembra anche corretto, ma forse non ha passato il nome della datasource corretta al sottoreport.
Cmq sia prova a confrontarlo con l'esempio che trovi qui:
http://www.gotreportviewer.com/
sulla destra c'è l'esempio con "subreport".
>P.S. nell'attesa mi sono organizzato con crystal, che è molto
>più intuitivo(almeno per me), però mi resta la sensazione che
>sia un pò più "pesante" crystal
si, confermo la pesantezza e anche l'intuitività
Ciao.
Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo
dvd75
Profilo
| Newbie
40
messaggi | Data Invio:
lun 18 mag 2009 - 15:44
Grazie freeteo, ma l'ho già confrontato già prima di scrivere quà, cercando di analizzare bene tutti i passaggi, è non c'è stato verso, non riesco proprio a capire dove sbaglio
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
lun 18 mag 2009 - 15:56
Puoi allegare il progetto? oppure inviamelo via email (che trovi nel mio profilo).
ps: metti anche il db se possibile (anche con dati d'esempio) per avere una situazione reale.
Ciao.
Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo
dvd75
Profilo
| Newbie
40
messaggi | Data Invio:
lun 18 mag 2009 - 16:44
1036_Archivio.zip
Ecco allego il progetto "alleggerito" con il solo form che dovrebbe visualizzare il report con sotto-report, ho riscritto tutto come avevo fatto in precedenza.
Il database è compreso nello zip, la stringa di connessione salvata nel progetto(anche se sicuramente saprai come fare.. ) cerca il database in C:\Archivio
dvd75
Profilo
| Newbie
40
messaggi | Data Invio:
mar 19 mag 2009 - 15:54
Ho allegato il progetto nel messaggio precedente
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mar 19 mag 2009 - 22:26
Ciao,
guardando l'esempio che hai allegato, come ti chiedevo inizialmente, il nome della datasource non è esatto:
si chiama "dbArchivioDataSet_qryConteggio_AP" e non "rptConteggi_AP.rdlc" come hai messo tu, quello è il nome del sottoreport e non della datasource.
Lo capisci dal nome della datasource del sottoreport, aprendolo e andando nel "menù Report->Data Sources->Report Data Sources"...
Ovviamente devi filtrare tu i dati, perchè provando quello che gli passi poi non è linkato al record del report principale che sta visualizzando, ma il parametro che hai passato al subreport (correttamente) devi poi utilizzarlo come "Filter" nella tua tabella del sottoreport (rptConteggi_AP.rdlc)
Ciao.
Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo
dvd75
Profilo
| Newbie
40
messaggi | Data Invio:
mar 19 mag 2009 - 22:37
Grazie ancora adesso funziona!!
...e per adesso ciao ciao crystal-tartaruga
mi rimetto al lavoro perchè devo completare il tutto con altri 3 sottoreport, e i vari filtri!
lebronjames
Profilo
| Newbie
2
messaggi | Data Invio:
sab 23 gen 2010 - 00:30
Ciao,
ho seguito tutte le tue indicazioni... il sottoreport mi viene visualizzato ma di una lista di valori visualizza solo l'ultimo....
es.
1 casa 100 0
2 ufficio 120 0
3 sede1 0 45
visualizza solo
3 sede 0 45
il codice
Private Sub FormStampadettagliMesi_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim instance As LocalReport = Me.ReportViewer1.LocalReport
'Me.DataTable1TableAdapter.Fill(Me.DatiDataSet.DataTable1)
Me.DataTable1TableAdapter.FiltraPerData(Me.DatiDataSet.DataTable1, "01/01/2007", "31/12/2007")
AddHandler ReportViewer1.LocalReport.SubreportProcessing, AddressOf Me.SubreportProcessingEventHandler
Me.ReportViewer1.RefreshReport()
End Sub
Public Sub SubreportProcessingEventHandler(ByVal sender As Object, ByVal e As SubreportProcessingEventArgs)
e.DataSources.Add(New ReportDataSource("datiDataSet_DataTable1", Me.DatiDataSet.DataTable1))
End Sub
grazie ancora
lebronjames
Profilo
| Newbie
2
messaggi | Data Invio:
sab 23 gen 2010 - 00:42
Scusate problema risolto ....
errore nella progttazione del subreport....
Grazie
Torna su
Stanze Forum
Elenco Threads
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 !