Anteprima di stampa

martedì 17 maggio 2011 - 21.41

luka82 Profilo | Junior Member

Ho creato un modello nel quale ho inserito dei campi che vengono compilati in base ad un parametro che gli passo dalla mia applicazione Windows. La mia domanda è:
come posso fare per compilare i campi con i dati che gli passo io manualmente, senza fargli prendere i dati dal Db?
cioè creare una sorta di anteprima di stampa. Posso utilizzare lo stesso modello o devo crearne un'altro uguale ma che non sia collegato al Db?
Ciao

freeteo Profilo | Guru

Ciao,
se non ho capito male, tu vorresti visualizzare il report senza che venga fatta la connessione al database, ma con dati in memoria.
La cosa da fare è semplicissima, ti basta passare la stessa struttura (ad esempio una DataTable) a runtime via codice al report, tramite il metodo "SetDataSource" del report stesso.

Faccio forse prima ad indicarti questo articolo:
http://www.dotnethell.it/articles/Crystal-Reports-Integration-Windows-Form.aspx
in basso c'è l'esempio dove vengono mostrati i 3 modi di passaggio di dati al report, nel tuo caso sarebbe "Ado.net" ossia da codice...come vedi, viene fatta tutta la connessione al db, ma di fatto potrebbe essere tranquillamente creata in memoria quella DataTable che viene passata al report...a lui basta che abbia la stessa struttura (nome e tipo delle colonne).

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

luka82 Profilo | Junior Member

Quindi potrei creare un DataTable (riempiendolo da codice) e passarlo al Report magari passandogli anche il valore del parametro che ho nel report(IDDocumento).
Faccio qualche prova...
grazie

freeteo Profilo | Guru

>Quindi potrei creare un DataTable (riempiendolo da codice) e
>passarlo al Report magari passandogli anche il valore del parametro
>che ho nel report(IDDocumento).
certo, il report non deve obbligatoriamente avere connessione diretta alla fonte dati, se gli arriva un set di dati (DataTable, Collection<T> etc..) che sia della struttura che si aspetta (la stessa che gli hai dato quando lo hai disegnato) il report usa quel set di dati nel render...


Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5