Xsd e Crystal Report

giovedì 27 aprile 2006 - 16.44

Mikyct86 Profilo | Junior Member

Ciaosono un giovane programamtore vorrei utilizzare i crystal reports e gli xsd per far visualizzare un array multidimensionale nel report ma non ci riesco.........
ho creato la tabella(datatable)il dataset
il dataset ho fatto :dataset1.WriteXmlSchema(FileWriter)
ma adesso?????
ci vuole un datasource giusto?
oppure io ho provato con il datatable aggiungendo le row e le column e mettendo nella row il mio array
ma non visualizza niente...solo le colonne....i dati dove si mettono????????
aiutooooooooooooooooooooooooooooooooo

Mikyct86 Profilo | Junior Member

ok!ma allora come faccio?xsd addio!
ma allora per fare un report di un array come faccio aiuto!

Mikyct86 Profilo | Junior Member

Private Function CreaDataset() As DataSet
Dim FileWriter As New StreamWriter("D:\Stage\Michele.Crimi\Lavoro\Progetto\Progetto Windows\AnalizzatoreFiles\XSDSchemaFormato.xsd")
dataset1.Tables.Add(CreaTabella)
dataset1.WriteXmlSchema(FileWriter)
CreaDataset = dataset1
End Function
Private Function CreaTabella() As DataTable
Dim i As Integer = 0
row = table.NewRow()
column = New DataColumn("Id", System.Type.GetType("System.Int32"))
table.Columns.Add(column)
column = New DataColumn("Data", System.Type.GetType("System.DateTime"))
table.Columns.Add(column)
column = New DataColumn("Temperatura", System.Type.GetType("System.Double"))
table.Columns.Add(column)
column = New DataColumn("Pressione", System.Type.GetType("System.Double"))
table.Columns.Add(column)
While i < ListaCount
row.Item("Id") = lista(i, 0)
row.Item("Data") = lista(i, 1)
row.Item("Temperatura") = lista(i, 2)
row.Item("Pressione") = lista(i, 3)
i += 1
End While
CreaTabella = table
End Function


E poi?????ho fatto un report e con wizard che si attaccava all'xsd capito perchè pensavo a quello???perchè mi chiede un db!

freeteo Profilo | Guru

ciao,
quando usi 1 file xsd usi 1ao schema (infatti xsd = xml schema definition) e quindi diciamo dai 1a struttura di dati che il report si aspettera 1po in esecuzione.
Quindi puo andare quello che hai fatto tu come codice di generazione del DataSet, ti basta passarglielo con il metodo "SetDataSource" di 1oggetto report generico dove fai il load come dico qui:

Oppure usando direttamente il tuo report che ti da visual studio e che ritrovi da intellisense (se lasci tutto di default di "crystalReport1" se lasci tutto di default...

Prova in questa strada e mi raccomando il dataset deve avere lo stesso schema di colonne, quindi sia con lo stesso nome che con lo stesso ordine, mi raccomando l'ordine!

ciao.

Matteo Raumer
MCAD ... .net addicted :-)
http://blogs.dotnethell.it/freeteo

Mikyct86 Profilo | Junior Member

ciao ancora credetemi non ci sono riuscito a mettere una lista del cavolo in un report!
aiuttttttttoooooooooooooooooo!!!!!!!!!!!!!
ma una giuda passo passo?
che ne so!vi prego è importante!grazie dell'aiuto!

freeteo Profilo | Guru

ciao,
prova a mettere questo codice, adattato al tuo nome di report:

Dim mioreport as new ReportDocument()
mioreport.Load("c:\.....\\..\report1.rpt")

mioreport.Database.setDataSource( CreaDataset() )

cosi' come ti dicevo prima, al report vai a passargli 1 dataset (che appunto ti viene ritornato dalla funzione "CreaDataset" che hai postato prima) che ha lo stesso schema con cui hai creato il report a desgin time...

ps: report1.rpt sara' sostituito dal tuo file di report, come il pezzo "c:\.....\\..\" sara' il tuo percorso...

ciao.

Matteo Raumer
MCAD ... .net addicted :-)
http://blogs.dotnethell.it/freeteo
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5