Come generare più pagine e tabelle dinamiche in file rdlc..

giovedì 03 aprile 2014 - 00.13
Tag Elenco Tags  C#  |  .NET 4.0  |  Windows 7  |  Visual Studio 2010  |  SQL Server Express  |  SQL Reporting Services

jackk87 Profilo | Junior Member

Buonasera,
in un db (sql compact 3.5) ho 3 tabelle chiamate scheda,tabella_coltura,riga. "riga" contiene idtabellacoltura e "tabella_colturacontiene" idscheda. Dovrei creare un report dove i miei problemi sono:
1-la prima pagina deve essere sempre in quel modo prendendo i dati dalla tabella "scheda"
2-nella seconda pagina devo inserire le varie tabelle quante sono le righe della tabella "tabella_coltura" del db
3-nell'ultima pagina altri dati presi dalla scheda + parametri passati tramite codice

Adesso non riesco a capire come caricare le tabelle (punto 2) e come creare queste pagine (la prima è sempre quella, la seconda in base al contenuto delle tabelle potrebbe generare altre pagine) e l'ultima pagina (punto 3 perchè dipende da quante pagine sono state generate dal punto 2).

Chiedo ai più esperti se è possibile e come generare un report strutturato in questo modo tramite lo strumento report viewer.

Grazie in anticipo a tutti

Modifica:

Buonasera, cerco di spiegarmi meglio con la speranza che riuscite ad aiutarmi perchè non vorrei mettermi a scrivere codice per il print document

Per esempio consideriamo una tabella categoria (id,nome,idscheda) che contiene:
1) 1,Abbigliamento Uomo,2
2) 2,Abbigliamento Donna,2
3) 3,Abbigliamento Bambino,2

e una prodotto (id, nome, quantita,prezzo,idcategoria) che contiene:
1) 1,Maglia,2,10,1
2) 2,Cappello,5,50,1
3) 3,Maglia,2,10,2
4) 4,Cappello,5,50,2
5) 5,Maglia,2,10,3
6) 6,Cappello,5,50,3

In pratica il report (RDLC) deve stamparmi una cosa come da immagine ->

889x475 12Kb


Poi posso avere un'altra scheda che nella tabella categoria ha solo un elemento e quindi mi deve stampare solo una tabella come potrebbe stamparmene più di 3...

Grazie ancora a tutti

freeteo Profilo | Guru

Ciao jackk87,
a mio avviso la cosa più importante è creare i dati in maniera corretta da passare al report, ad esempio, vedendo la tua immagine, mi pare di capire che i dati siano sempre gli stessi (nome,quantita,prezzo) e che siano raggruppati per categoria.

Questo è facilmente ottenibile con un set di dati (DataTable o Collection<T>) che abbiano una risultante con le proprietà CATEGORIA, NOME, QUANTITA, PREZZO.
Il report lo costruisci con una Tablix dove gli dici di raggruppare per la proprietà "Categoria" ed il gioco è fatto.

Se l'immagine invece è solo indicativa, e vorresti qualcosa in più, puoi lavorare con i sottoreport, la cosa è più complessa, ma è sicuramente più flessibile.
Se vuoi, puoi partire a prendere spunto da qui: http://gotreportviewer.com/

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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5