Un altro metodo è creare la source in pagina e passarla al report.
Ho aggiunto questa rigacodice:Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Put user code to initialize the page here Dim cnn As New SqlConnection("Data Source=localhost;Initial Catalog=northwind;User ID=sa;Password=;Persist Security Info=True") Dim cmd As New SqlCommand("Select * from categories", cnn) Dim da As New SqlDataAdapter Dim ds As New DataSet Dim dt As New DataTable("Pippo") cnn.Open() da.SelectCommand = cmd da.Fill(dt) cnn.Close() ds.Tables.Add(dt) ds.WriteXmlSchema("c:\test\test.xsd") Dim c As New CrystalReport1 c.Load() c.SetDataSource(dt) Me.CrystalReportViewer1.ReportSource = c Me.CrystalReportViewer1.DataBind() End Sub
ds.WriteXmlSchema("c:\test\test.xsd")
Per farmi lo scrivere lo schema risultato della mia query e cioè dei dati che verranno passati al report.
Questo ti serve soprattutto quando devi disegnare il report.
Quando aggiungi una connessione al db seleziona "Database Files" e poi cerchi il file xsd di prima.
Il codice che ti ho postato sopra l'ho testato e funziona con il db Northwind.
Ricorda di creare la cartella test e dare le permission all'utente aspnet per scrivere il file.
Fammi sapere
Ciao
K

Rispondi quotando