tramite la classe printdocument.
Dopo aver aggiunto un controllo datagridview (riempito con dei valori) aggiunge
un controllo printdocument.
Per l'evento print page del controllo printdocument, aggiungete il seguente codice.
VB.Net
Private Sub PrintDocument1_PrintPage(ByVal sender
As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs)
Handles PrintDocument1.PrintPage
Dim PaintArgs As New PaintEventArgs(e.Graphics, New Rectangle(New
Point(0, 0), Me.Size))
Me.InvokePaint(DataGridView1, PaintArgs)
End Sub
C#
private void printDocument1_PrintPage(object
sender, System.Drawing.Printing.PrintPageEventArgs
e)
{
PaintEventArgs PaintArgs = new PaintEventArgs (e.Graphics,
new Rectangle(new Point(0, 0), this.Size));
this.InvokePaint(dataGridView1 , PaintArgs);
}
VB.Net
PrintDocument1.Print()
C#
printDocument1.Print();
2 commenti:
Ho provato il codice proposto, ma no mi ha stampato nulla !!
Nel Private Sub PrintDocument1_PrintPage(ecc.. ecc.)
ho inserito il seguente codice
Dim PaintArgs As New PaintEventArgs(e.Graphics, New Rectangle(New Point(25, 600), Me.Size))
Me.InvokePaint(GridAnagrafiche, PaintArgs)
La datagridview nel mio caso si chiama GridAnagrafiche, cosa ho sbagliato ????
Anch'io ho provato il codice proposto, ma mi ha stampato soltanto la griglia vuota, senza i dati inseriti. Inoltre sul foglio viene stampato soltanto la porzione visibile nella finestra ma non tutta la tabella...
Un bel trucco ma non adatto a questa situazione...
Se vuoi sapere come si stampa una tabella puoi guardare qui:
http://www.gandalfrank.altervista.org/Stampare_Tabella_DGV.html
Posta un commento