Crystal

martedì 21 settembre 2004 - 15.05

secks Profilo | Senior Member

Sto una WinForm con il caricamento di un report.
Se sul SetDataSouce carico la tabella la mia stampa ha esito positivo, invece se caricato da un DataSet contente la tabella visualizza il dataviewer vuoto.

Dim r As New CrystalDecisions.CrystalReports.Engine.ReportDocument

Dim dasTmp As New DataSet("Tmp")

dasTmp.Tables.Add(_datLis)

r = New rptListino

r.SetDataSource(dastmp)

CrystalReportViewer1.ReportSource = r

Qualcuno mi sa dire xchè?

Ciao e grazie.
Paolo.

trinity Profilo | Guru

Di solito io faccio così, vedi se ti può essere di aiuto...

Imports CrystalDecisions.CrystalReports.Engine

Dim prova As New ReportDocument
prova.Load("C:\stampa.rpt")
CrystalReportViewer1.ReportSource = prova

ciao

secks Profilo | Senior Member

Non mi è molto utile in quanto la tabella è in memoria in un dataset.
Ciao e grazie

freeteo Profilo | Guru

ciao,
perche metti come datasource tutto il dataset? [r.SetDataSource(dastmp)]
hai provato a mettere la tabella del dataset come datasource:

r.SetDataSource(dastmp.tables("miatabella"))

ciao

trinity Profilo | Guru

puoi anche fare cos':

Dim cr As New CrystalReport1
cr = New CrystalReport1
cr.SetDataSource(ds)
Me.CrystalReportViewer1.ReportSource = cr

secks Profilo | Senior Member

X Teo:

L'istruzione:
r.SetDataSource(dastmp.tables("miatabella"))

già la utilizzo direttamente con:

r.SetDataSource(miatabella)

in quanto carico direttamente una tabella in memoria e la passo al SetDataSource senza usare il DataSet.
Il mio problema ora è il report chiede 2 tabelle relazionate e pensavo di caricarle in un dataset con

dataset.tabled.add(miatabella1)
dataset.tabled.add(miatabella2)

e poi

r.SetDataSource(dastmp.tables(dataset))

ma alla fine il report e bianco.



X Trinity

Ho provato:

Dim ds As New DataSet
ds.Tables.Add(_datLis)

Dim cr As New rptListino
cr = New rptListino
cr.SetDataSource(ds)
Me.CrystalReportViewer1.ReportSource = cr

ma il report alla fine e sempre vuoto.


Ho cercato qualche risposta in rete e sembra che x far funzionare la cosa si debba caricare un dataset tipizzato ed eventualmente relazionare 2 tabelle, ma la cosa sarebbe un po' + laboriosa.
Penso che alla fine da 2 tabelle ne faro' 1 con i dati rindondanti a meno che non abbiate qualche idea migliore.

Ciao e grazie.
Paolo.

trinity Profilo | Guru

Io ti ho dato la parte finale della procedura te devi fare un select command per riepire il dataadapter e poi il dataser, quest'ultimo lo devi agganciare al file report di crystal e vedrai che funge..

Ciao
Fabio

freeteo Profilo | Guru

ciao,
non so se ho capito bene ma il tuo report ha 2 tabelle relazionate all'interno (cioe' l'hai costruito nel designer con 2 tabelle)?
se si allora da codice puoi passargli le tabelle 1 per volta e lui si arrangia a fare il link:

r.Database.Tables(0).SetDataSource(tabella1)
r.Database.Tables(1).SetDataSource(tabella2)

e poi lo bindi al viewer....

secks Profilo | Senior Member

Appena ho in po' di tempo completo le mie prove e poi vi racconto.
Grazie inifinite del vostro aiutoe a presto.

Poalo.
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