printDocument con varias paginas
Publicado por roberto (9 intervenciones) el 01/12/2017 02:57:04
Buenas noches Sres,,
soy un novato que esta empezando a usar vb.nete 2012 y tengo un problemas con el printDocument....
Estoy usando windows10 Home de 64bits, y quiero imprimir el contenido de un datatable pero al realizar el salto de paginas no lo hace..ahi va mi codigo si alguien me puede ayudar
llamada al reporte
Este codigo no me hace el salto de pagina.
espero me ayuden y saldos a todos
soy un novato que esta empezando a usar vb.nete 2012 y tengo un problemas con el printDocument....
Estoy usando windows10 Home de 64bits, y quiero imprimir el contenido de un datatable pero al realizar el salto de paginas no lo hace..ahi va mi codigo si alguien me puede ayudar
llamada al reporte
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
prev = New PrintPreviewDialog
docum = New PrintDocument
AddHandler docum.PrintPage, New PrintPageEventHandler(AddressOf Me.printExistencias)
Dim impresActual As New Printing.PrinterSettings
Dim prdimpresoras As New PrintDialog
Dim tamano As Printing.PaperSize
Dim ancho As Short = Short.Parse(900)
Dim alto As Short = Short.Parse(1440)
tamano = New Printing.PaperSize("Existencias", ancho, alto)
Try
docum.DefaultPageSettings.PaperSize = tamano
prev.Document = docum
prev.ShowDialog()
Catch ex As Exception
MsgBox("Error al desplegar el reporte|" & ex.Message)
Exit Sub
Finally
End Try
End Sub
/*codigo recortado para visualizar el proceso de impresion*/
Private Sub printExistencias(sender As Object, e As PrintPageEventArgs)
For Each row As DataRow In dataset.dtExistencia_art.Rows
articulo = row("id_articulo")
e.Graphics.DrawString(row("id_Articulo"), Fnormal, Brushes.Black, margenizq, ypos)
margenizq += 80
lugar = "09"
ypos += 15
lineas += 1
e.HasMorePages = False
If lineas > linesPages Then
pagina += 1
'MsgBox("Nueva pagina hasmore true " & pagina)
cabecera = 1
lineas = 0
margenizq = Math.Round(e.MarginBounds.Left / Fnormal.GetHeight(e.Graphics), 0)
'ypos = 0
e.HasMorePages = True
End If
Next
e.HasMorePages = False
Catch ex As Exception
MsgBox("Error al desplegar existencias|" & lugar & ex.Message)
Exit Sub
End Try
End Sub
Este codigo no me hace el salto de pagina.
espero me ayuden y saldos a todos
Valora esta pregunta
0