Stampare una listview

mercoledì 27 aprile 2005 - 17.04

Barabas Profilo | Junior Member

salve a tutti
sono nuovo di questo sito e di .net, questo è il mio primo messaggio, spero possiate aiutarmi.
ho provato a stampare il listview della mia indowsapplication usando un componente printdocument.
non dà errori, la stampante parte e restituisce un foglio bianco!!!
dove sto sbagliando?

questo è il codice che ho usato:

Private Sub ButtonStampa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonStampa.Click
'comandi per la stampa
PrintDocument1.Print()
End Sub

Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage

'comandi per la stampa
Dim mypaintargs As New PaintEventArgs(e.Graphics, New Rectangle(New Point(0, 0), Me.Size))
Me.InvokePaint(ListView1, mypaintargs)
End Sub

trinity Profilo | Guru

Scusami ma per le stampe perchè non utilizzi il cristal report net?

Ciao
Fabio

trinity Profilo | Guru

No assolutamente anche se non mi dispiacerebbe, il discorso della stampa diretta di una winform come nell'articolo postato è utile se i dati da stampare rientrano nella dimensione della form, ma quando i dati di una listview sono molti e quindi per visualizzarli bisogna ricorrere alla scrollbar, in questo caso per me è + utile passare tutto su un report che gestisce + pagine....

Ciao

Barabas Profilo | Junior Member

vi ringrazio per i consigli, purtroppo per tutta la giornata di ieri non riuscivo a vedere i messaggi, mi dava un server error relativo alla data...
comunque ho provato diversi modi per stampare, ma alla fine penso che userò crystal report.
avevo già tutti i dati da stampare in una listview, perciò pensavo fosse più semplice stampare direttamente quella... Ma listview non ha un metodo di stampa, ho provato a scaricare dei custom control, una listview estesa con un metodo print (non sono riuscito ad aggiungere un nuovo controllo), o una classe apposita che stampava si, ma in una maniera poco gestibile, ho fallito in entrambi i casi.
Ora con crystal report ho il problema che riesco a stampare tutta la tabella del db contenente i dati, ma dovrei selezionarli, e non riesco a capire dove dovrei mettere la query...
perdonate la mia inesperienza e se potete consigliatemi ancora, fa molto piacere sapere che c'è qualcuno esperto che ti aiuta

trinity Profilo | Guru

Puoi optare per due diverse strade, la prima ed è quella meno consigliata perchè veniva usata in passato prima dell'avvento del net è di creare nel db una tabella vuota di stampa, destinata a d essere riempita solo dai dati che servono per la stampa e quindi puoi benissimo effettuare tutte le operazioni che vuoi in form e poi riempi questa tabella e lanci la stampa del report.
Oppure come seconda soluzione puoi benissimo utilizzare i dataset, crearti una tabella nel dataset e riepirla ogni volta che ti serve come se fosse reale ma in realtà generi una tabella virtuale che farai leggere a crystal report...

Ciao
Fabio

Barabas Profilo | Junior Member

grazie mille
il problema è risolto!!
addirittura ora ho l'imbarazzo della scelta fra le diverse soluzioni!!
grazie per avermi aiutato, è sempre bello imparare
spero di poter ricambiare in futuro, ma è difficile, sono prorio newbie ;)
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5