Codigo para imprimir un DataGrid en Visual Basic 2010

Solo disponible en BuenasTareas
  • Páginas : 3 (548 palabras )
  • Descarga(s) : 0
  • Publicado : 16 de abril de 2013
Leer documento completo
Vista previa del texto
Dada la cantidad de comentarios (más de 10 :P) que se produjeron en el post en el que explicaba como imprimir el contenido de un datagrid, me veo en la obligación a hacer el mismo ejemplo en VB.NET,sobre todo porque el código que puse en los comentarios tenía algún error.
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...
tracking img