Codigo para imprimir un DataGrid en Visual Basic 2010
Recordando el ejemplo, se trata de un formulario que contiene:
- un datagrid llamado DataGridView1
- un botón llamadoButton1
- un PrintDocument llamado PrintDocument1
Y aquí tenéis el código:
Public Class Form1
' Variable a nivel de clase para recordar en qué punto nos hemos quedado
Dim i As Integer = 0Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Fill_DataGrid()
End Sub
Private Sub Fill_DataGrid()' TODO: rellenar con el código que obtiene los datos de donde sea necesario
' Por ejemplo:
Me.DataGridView1.DataSource = dataSet
Me.DataGridView1.DataMember = "Table"End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.PrintDocument1.Print()
End Sub
Private SubprintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
' Definimos la fuente que vamos a usar para imprimir' en este caso Arial de 10
Dim printFont As System.Drawing.Font = New Font("Arial", 10)
Dim topMargin As Double = e.MarginBounds.Top
Dim yPos As Double = 0
DimlinesPerPage As Double = 0
Dim count As Integer = 0
Dim texto As String = ""
Dim row As System.Windows.Forms.DataGridViewRow
' Calculamos el número de líneas quecaben en cada página
linesPerPage = e.MarginBounds.Height / printFont.GetHeight(e.Graphics)
' Imprimimos las cabeceras
Dim header As DataGridViewHeaderCell
For...
Regístrate para leer el documento completo.