Post nato da una discussione su forum. Supponiamo di avere un DataSet tipizzato contenente un oggetto DataTable "Articoli" come in figura:
Supponiamo di avere anche un report locale del tipo:
Per associare il nostro DataTable al report, possiamo utilizzare un ReportDataSource, scrivendo del codice tipo:
1 Dim dsStampa As New DsStampa()
2 Dim tableArticoli As New DsStampa.ArticoliDataTable()
3
4 'Aggiungo un paio di righe
5 Dim articoloRow As DsStampa.ArticoliRow = tableArticoli.NewArticoliRow()
6 articoloRow.Codice = "CODICE A"
7 articoloRow.Descrizione = " DESCRIZIONE 1"
8 tableArticoli.Rows.Add(articoloRow)
9
10 articoloRow = tableArticoli.NewArticoliRow()
11 articoloRow.Codice = "CODICE B"
12 articoloRow.Descrizione = " DESCRIZIONE 2"
13 tableArticoli.Rows.Add(articoloRow)
14
15 Dim reportDataSource As New Microsoft.Reporting.WinForms.ReportDataSource()
16
17 reportDataSource.Name = "DsStampa_Articoli"
18 reportDataSource.Value = tableArticoli
19
20 Me.ReportViewer1.LocalReport.ReportPath = "Report1.rdlc"
21 Me.ReportViewer1.LocalReport.DataSources.Clear()
22 Me.ReportViewer1.LocalReport.DataSources.Add(reportDataSource)
23 Me.ReportViewer1.RefreshReport()
E' importante non sbagliare ad impostare la stringa della proprietà Name della nostra istanza di reportDataSource con il valore presente nelle proprietà Table del report
altrimenti all'interno del ReportViewer verrebbe notificato un errore che indica che non è stata fornita nessuna sorgente dati
Codice sorgente: Test Report.zip
Technorati Tag:
ReportDataSource