Establecer salto de página imprimiendo con e.Graphics

Colapsar
X
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar todos
nuevos mensajes

  • Establecer salto de página imprimiendo con e.Graphics

    Hola de nuevo a todos.
    Tengo una aplicación en la que mando imprimir un listado de artículos con el objeto e.Graphics e imprime lo que le digo, pero SÓLO UNA PÁGINA.
    Es decir, que cuando se completa la primera página en lugar de continuar con el listado, termina ahí.
    He visto que con la instrucción e.HasMorePages = (True ó False) podemos indicar si queremos que imprima más página o no.
    El caso es que no consigo averiguar en qué parte del código lo indico porque he probado cuando se sobrepasa el número líneas por página y no funciona.
    Ya se que es culpa mía y que algo estoy haciendo mal´. Por eso acompaño el código de esa parate a ver si me podéis ayudar.

    Código:
       Try
                dr = cmd.ExecuteReader
                If dr.HasRows Then
                    yPos = 1 * TW
                    While dr.Read()
                        xpos = 1.3 * TW
                        e.Graphics.DrawString(String.Format("{0,5:N0}", dr(0)), prFont, Brushes.Black, xpos, yPos, sf)
                           xpos = 8.3 * TW
                        e.Graphics.DrawString(String.Format(vb.Left(dr(1), 40)), prFont, Brushes.Black, xpos, yPos, sf)  
                        If Not IsDBNull(dr(3)) Then
                            xpos = 10.4 * TW
                            e.Graphics.DrawString(String.Format("{0,6:N2}", dr(3)), prFont, Brushes.Black, xpos, yPos, sf)
                        End If
                        If Not IsDBNull(dr(2)) Then
                            xpos = 12.4 * TW
                            e.Graphics.DrawString(String.Format("{0,6:N2}", dr(2)), prFont, Brushes.Black, xpos, yPos, sf)
                        End If
    
                        If Not IsDBNull(dr(4)) Then
                            xpos = 14.4 * TW
                            e.Graphics.DrawString(String.Format("{0,6:N2}", dr(4)), prFont, Brushes.Black, xpos, yPos, sf)
                        End If
    
                        If Not IsDBNull(dr(5)) Then
                            xpos = 16.4 * TW
                            e.Graphics.DrawString(String.Format("{0,6:N2}", dr(5)), prFont, Brushes.Black, xpos, yPos, sf)
                        End If
    
                        If Not IsDBNull(dr(6)) Then
                            xpos = 18.4 * TW
                            e.Graphics.DrawString(String.Format("{0,6:N2}", dr(6)), prFont, Brushes.Black, xpos, yPos, sf)
                        End If
    
                        If Not IsDBNull(dr(7)) Then
                            xpos = 20.4 * TW
                            e.Graphics.DrawString(String.Format("{0,6:N2}", dr(7)), prFont, Brushes.Black, xpos, yPos, sf)
                        End If
                        yPos += 0.4 * TW
                        pasaron += 1
                    End While
                End If
                dr.Close()
            Catch ex As Exception
                MsgBox(ex.ToString)
            End Try
        End Sub

    Muchas gracias por vuestra ayuda.


Trabajando...
X