|
-
Aug 29th, 2002, 09:16 PM
#1
Thread Starter
New Member
printing data grid
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
-
Aug 30th, 2002, 06:26 AM
#2
Registered User
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
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|