how do i create a print preview for a datagrid control currently displayed, and later print it out in a customized report format? any help would be appreciated. thanks
Printable View
how do i create a print preview for a datagrid control currently displayed, and later print it out in a customized report format? any help would be appreciated. thanks
http://www.c-sharpcorner.com/Graphic...dPrinterMG.asp
i am currently working on doing just that, but havent had any luck yet. anyone that could help... the code needs to be transferred to VB.net. This would be a powerful tool, because printing xml files are unreadable to a user, so if you can print the data like a datagrid, it would solve the problem. anyway, here is code that will print the raw data...
VB Code:
Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage Dim LinesPerPage As Single = e.MarginBounds.Height / PrintFont.GetHeight(e.Graphics) Dim Line As String = Nothing, count As Integer, yPos As Single = 0 For count = 0 To LinesPerPage - 1 Line = StreamToPrint.ReadLine If Line Is Nothing Then Exit For yPos = e.MarginBounds.Top + count * PrintFont.GetHeight(e.Graphics) e.Graphics.DrawString(Line, PrintFont, Brushes.Black, e.MarginBounds.Left, yPos, New StringFormat()) Next If Not (Line Is Nothing) Then e.HasMorePages = True End Sub Private Sub MenuItemPrintPreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItemPrintPreview.Click StreamToPrint = New IO.StreamReader("temp.xml") 'whatever is bound to datagrid PrintPreviewDialog1.Document = PrintDocument1 PrintPreviewDialog1.ShowDialog() If Not (StreamToPrint Is Nothing) Then StreamToPrint.Close() End If End Sub