|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2008
Messaggi: 365
|
[VB.NET - VS2008] Creare report da Data Table
Ciao a tutti,
nel mio programma ho una form con una datagridview (tre colonne) e tre textbox. Dopo aver riempito le TB premo un pulsante e i dati di ogni TB vengono caricati in una nuova riga (rispettivamente in una diversa colonna) della datagridview. Ho creato un'altra form con un ReportViewer ed una property di tipo datatable: alla pressione di un secondo pulsante sulla prima form, la datasource della DGW viene caricata all'interno della property e la stessa viene impostata come datasource del report associato al reportviewer. Funziona tutto, se non fosse che il report è bianco: è possibile a runtime (o ancora meglio con un autocomposizione) creare una tabella in un report prendendo struttura e dati da una datatable?
__________________
Firma in sciopero! |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
__________________
Contattami su FaceBook --> [ ::: MarcoGG su FaceBook ::: ] Visita il mio Blog --> [ ::: Il Blog di MarcoGG ::: ] |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2008
Messaggi: 365
|
Questa è la routine associata alla pressione del bottone nel primo Form:
Codice:
Dim FormReport As New FormReportStdCartone
FormReport.dt = DataGridView1.DataSource
FormReport .Show()
Codice:
Public Class FormReportStdCartone
Dim tabella As DataTable
Public Property dt() As DataTable
Get
Return tabella
End Get
Set(ByVal value As DataTable)
tabella = value
End Set
End Property
Private Sub FormReportStdCartone_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ReportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local
ReportViewer1.LocalReport.ReportPath = "***\forms\reportSTDCartone.rdlc"
ReportViewer1.LocalReport.DataSources.Clear()
ReportViewer1.LocalReport.DataSources.Add(New Microsoft.Reporting.WinForms.ReportDataSource("Tabella_Standard", tabella))
ReportViewer1.DocumentMapCollapsed = True
ReportViewer1.RefreshReport()
End Sub
End Class
__________________
Firma in sciopero! |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Il primo problema che vedo è proprio il DataTable.
Se il DGV viene compilato senza connessione ad una base dati il suo DataSource è un oggetto vuoto, in ogni caso. Perciò in quel caso stai passando un DataTable vuoto. Puoi verificarlo semplicemente, subito dopo il codice che popola il DGV stesso : Codice:
If DGV.DataSource Is Nothing Then
MsgBox("DataSource vuoto")
End If
__________________
Contattami su FaceBook --> [ ::: MarcoGG su FaceBook ::: ] Visita il mio Blog --> [ ::: Il Blog di MarcoGG ::: ] |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Oct 2008
Messaggi: 365
|
Quote:
__________________
Firma in sciopero! |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Sull'area bianca del ReportViewer dovrebbe uscire comunque un messaggio che da qualche info sul motivo del mancato caricamento, se non sbaglio.
Personalmente ho usato il ReportViewer parecchio tempo fa, una volta, perchè ricordo che non mi entusiasmò per niente...
__________________
Contattami su FaceBook --> [ ::: MarcoGG su FaceBook ::: ] Visita il mio Blog --> [ ::: Il Blog di MarcoGG ::: ] |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:05.



















