Tabulare una listview per la stampa

venerdì 17 novembre 2017 - 01.31
Tag Elenco Tags  VB.NET  |  .NET 4.0

e444 Profilo | Newbie

Ciao a tutti.
Sto cercando un aiuto per risolvere questo mio piccolo dilemma...

sto realizzando un programma che a fine operazioni, mi compila una listview contenente 1 colonna item e 6 subitems.
Al termina, ho la necessità di stampare questa listview in maniera tabellare, nel senso, che la stampa deve risultare con tutti gli "items" ognuno per ogni colonna.
Ho creato quindi, tramite codice, un rettangolo con all'interno una intestazione ed una sottointestazione, tutto con un carattere tipo "1", poi ho creato, tanto per dire, come una riga scritta inerente il significato della stampa, quindi avente un carattere tipo "2", poi un carattere tipo "3" per i nomi delle colonne suddivise con una tablatura ed un carattere in grassetto, una linea di separazione che divide i titoli delle colonne con la listview sottostante ed un carattere "4" per gli items della listview.
Di seguito raffiguro tutto il listato del comando di stampa.


1034x584 156Kb


Come potete vedere, nonostante abbia usato una tabulazione pure per la raffigurazione degli items, questi vengono si suddivisi, ma non sono riuscito a trovare il modo di "incolonnarli" sotto le rispettive intestazioni.... e questo è il risultato di quello che esce nella stampa...


985x399 92Kb


Come potete vedere, l'incolonnamento è errato... devo pure risolvere come distanziare la colonna "Sala" dalla colonna "Nominativo", ma quello credo già di sapere come fare... devo fare un paio di prove...
Ma per il resto dell'incolonnamento... come potrei risolvere? come posso far capire al programma che ogni Item va posizionato sotto ogni intestazione? avete suggerimenti? consigli?...

Grazie a chi possa darmi aiuto.
Ale.

ratum99 Profilo | Junior Member

Ciao,

secondo me ti stai complicando la vita .

la soluzione migliore è usare un gestore di report, per esempio quello di microsoft.
Non ho molto tempo quindi ti dico solo che la librearia è Microsoft.ReportViewer.WinForms.
In internet trovi vari tutorial

In breve graficamente crei un report e poi gli agganci i tuoi dati e il report engine fa tutta la formattazione che ti serve.

Un consiglio, che forse adesso non capirai se non hai mai usato un report engine... formatta i tuoi dati in una DataTable e poi passala al report engine.



-RA-
"Programmare? non è così difficile"

e444 Profilo | Newbie

Ciao,
Intanto grazie per la tua risposta, anche se onestamente ho provato a seguire il tuo consiglio ma... se devo essere sincero... non ci ho capito una fava!....
Comunque sia, sono riuscito apparentemente a risolvere il problema riscrivendo in maniera diversa...

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

in questo modo sono riuscito ad incolonnare correttamente ogni dato sotto la rispettiva colonna.
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-2018
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5