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
Ancora problemi con reportview
venerdì 08 febbraio 2013 - 14.55
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 3.5
Mau67
Profilo
| Expert
917
messaggi | Data Invio:
ven 8 feb 2013 - 14:55
Nel mio programma devo creare un report con reportview, e devo prendere i dati da una list view che si trova in un form diverso dal form dove lancio la stampa.
Praticamente carico i dati dentro la listview che si trova nel form1 poi nel button passo i dati della listview al dataset e apro il form2 dove c'è il reportview ma non mi carica i dati e il dataset è popolato lo provato caricando un altro listview dal dataset.
Mi sapete dire ome posso fare?
E se magari è possibile mandare in stampa i dati direttamente dalla listview?
Ciao grazie
N.B. sviluppo in visual studio 2012 professional
Mau67
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mer 20 feb 2013 - 01:06
Ciao Mau67,
vorrei darti qualche indicazione anche "teorica" su quello che hai scritto, così ti può tornare utile per capire dove potrebbe scaturire il problema.
>Nel mio programma devo creare un report con reportview, e devo
>prendere i dati da una list view che si trova in un form diverso
>dal form dove lancio la stampa.
il fatto che dici "prendo i dati dalla listview", anche se mentalmente è il processo che ti immagini di fare, concettualmente è sbagliato perchè i dati dovrebbero essere messi in qualche collection tipo Collection<T> e poi ci fai quello che vuoi, ossia la listview è qualcosa che visualizza (con dei template etc...) e lo stesso è il ReportViewer (chiaramente in maniera più complessa)
>Praticamente carico i dati dentro la listview che si trova nel
>form1 poi nel button passo i dati della listview al dataset e
>apro il form2 dove c'è il reportview ma non mi carica i dati
>e il dataset è popolato lo provato caricando un altro listview
>dal dataset.
ecco, come ti dicevo, dovresti avere una Collection in memoria, va bene anche un dataset anche se io te lo sconsiglio dal punto di vista architetturale.
Di fatto cmq non è un errore, infatti dovrebbe funzionare correttamente passando i dati come datasource del ReportViewer.
Hai passato i dati con il metodo SetDataSource("nome", dataset.Tables(0))... o qualcosa del genere?
Ciao.
Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Mau67
Profilo
| Expert
917
messaggi | Data Invio:
gio 21 feb 2013 - 11:43
Grazie della risposta, ti posto il codice che ho scritto ma che non produce risultati di visualizzazione di dati nel report, io non riesco a vedere l'errore magari tu un occhio esperto trova l'errore
Popolo il dataset dal form (A) e chiamo il form (B) per lanciare il report
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim dtsReport As New dtsReport
Dim tableRegistro As New dtsReport.Registro7MDataTable()
Dim id As ListViewItem
Dim idCollection As ListView.CheckedListViewItemCollection = Me.ListView2.CheckedItems
For Each id In idCollection
If id.Checked = True Then
Dim RowRegistroRow As dtsReport.Registro7MRow = tableRegistro.NewRegistro7MRow
RowRegistroRow = dtsReport.Registro7M.NewRow
RowRegistroRow.NrProg = id.Text
RowRegistroRow.NrCarico = id.SubItems(1).Text
RowRegistroRow.NrScarico = id.SubItems(2).Text
RowRegistroRow.DataDocum = id.SubItems(3).Text
RowRegistroRow.TipoMov = id.SubItems(4).Text
RowRegistroRow.EstremiDoc = id.SubItems(5).Text
RowRegistroRow.Materiale = id.SubItems(6).Text
RowRegistroRow.Reparto = id.SubItems(7).Text
RowRegistroRow.Citta = id.SubItems(8).Text
dtsReport.Registro7M.Rows.Add(RowRegistroRow)
End If
Next
My.Forms.Report.ParametroReport = "Registro"
My.Forms.Report.ShowDialog(Me)
End Sub
aperto il report dovrebbe popolarsi il report di dati ma visualizzo solo le intestazioni di colonna
Private Sub Report_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim dtsReport As New dtsReport
Dim tableRegistro As New dtsReport.Registro7MDataTable()
Dim reportDataSource As New Microsoft.Reporting.WinForms.ReportDataSource()
reportDataSource.Name = "DataSet1"
reportDataSource.Value = tableRegistro
Me.ReportViewer1.LocalReport.ReportPath = Percorso & "\Registro7M.rdlc"
Me.ReportViewer1.LocalReport.DataSources.Clear()
Me.ReportViewer1.LocalReport.DataSources.Add(reportDataSource)
Me.ReportViewer1.RefreshReport()
End Sub
se noti l'eerore poteresti gentilmente correggerlo grazie
Mau67
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 !