Apertura report in una nuova finestra (winforms)

martedì 31 ottobre 2006 - 14.52

squilibrio Profilo | Expert

Ciao, sto facendo alcune prove con Reporting Services... prima utilizzavo Report Manager e in automatico il report veniva aperto in una nuova finestra che restava in primo piano, come posso ottenere un risultato simile con reporting services? devo per foza inserire il report in un form oppure posso caricare solo il report?

freeteo Profilo | Guru

ciao,
devi per forza creare 1a form, mettere dentro il visualizzatore, fare il processo di caricamento etc... tenendo la Form in primo piano (quindi con il metodo "ShowDialog") poiche' non c'e' nessuna possibile "finestra di anteprima" gia pronta...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

squilibrio Profilo | Expert

Non ho capito una cosa:

Ho creato il mio form con una serie di filtri attraverso i quali alimento il mio datasource
Ho creato il DataSet tipizzato

a questo punto devo aprire un nuovo form che dovrebbe visualizzare il mio report: ovvero che contiene solo il reportviewer, come posso pasare i dati dal primo form a questo?

Grazie

freeteo Profilo | Guru

ciao,
sostanzialmente devi passare i valori, quindi ti consiglio di usare 1a proprieta' della form, che dalla form dove raccogli i vari filtri viene settata prima di aprire questa form di anteprima.
La form di anteprima, riempie con gli adapters (che trovi come tableadapters) un'istanza del dataset tipizzato, filtrando le select con i parametri di filtro che hai messo nella proprieta'.

Tradotto in codice sarebbe qualcosa del tipo:

nell'evento click, di un pulstante "mostra anteprima" del form che raccoglie i filtri:
FormReport miaForm = new FormReport(); miaForm.Filtri = #filtri raccolti# miaForm.Show();
la FormReport ha la proprieta' e nel load la legge e quindi filtra i dati
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

dove DataSet1TableAdapters.CustomersTableAdapter va sostituito con il tuo tabeladapter, questo è 1 esempio con 1a tabella "customers", e nella costruzione del dataset (quindi in finestra simile alla gestione di un db sql) basta chec nella query imposti i filtri (es: select * from customers where customeID = @customerID...)


* ps: se i filtri li devi mettere solo nel report allora non ti serve il metodo fill con il parametro dei filtri, li setti nel report magari impostandone la "ReportSelectionFormula"
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

squilibrio Profilo | Expert

Grazie per i suggerimenti! Ora cerco di organizzare un po le idee
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