Foros del Web » Programación para mayores de 30 ;) » .NET »

ayudenme con la impresion por favor, es urgente

Estas en el tema de ayudenme con la impresion por favor, es urgente en el foro de .NET en Foros del Web. hola amigos, el problema que tengo es que quiero mejorar mi impresion, lo que quiero hacer es imprmir los datos de un datagrid el cual ...
  #1 (permalink)  
Antiguo 04/03/2011, 10:22
Avatar de luisito1  
Fecha de Ingreso: junio-2009
Ubicación: Córdoba
Mensajes: 226
Antigüedad: 14 años, 10 meses
Puntos: 2
ayudenme con la impresion por favor, es urgente

hola amigos, el problema que tengo es que quiero mejorar mi impresion, lo que quiero hacer es imprmir los datos de un datagrid el cual se cargar segun la consulta... y cuando imprimo lo que hago es llamar de nuevo a la consulta para que me imprima los mismo datos que tenia, el problema se basa en que el trabajo que estoy haciendo es para un colegio y la impresion tiene que ser tipo boletin o documento( o sea tiene que estar bien ordenado) y con mi forma de imprimir se mueve segun la cantidad de caracteres que tengan los obetos que consulto y eso quiero mejorar para que la impresion sea mas uniforme... les dejo el codigo y mas o menos como me queda... ah y me gustaria saber si con el printform se puede imprimir solo la grilla o si solo se imprime todo el formulario.. (estoy trabajando en vb 2005 y sql server 2005)


mi codigo.....

esto va antes de public class

Imports System.Drawing.Printing

Cita:
Private Sub Bimprimir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bimprimir.Click
seleccionarImpresora()

End Sub

Private Function seleccionarImpresora() As Boolean
Dim ppd As New PrintDialog
Dim prtsettings As New PrinterSettings
Dim printDoc As New PrintDocument

If prtSettings Is Nothing Then
prtSettings = New PrinterSettings
End If
With ppd
.AllowPrintToFile = False
.AllowSelection = False
.AllowSomePages = False
.PrintToFile = False
.ShowHelp = False
.ShowNetwork = True
.PrinterSettings = prtSettings
If .ShowDialog() = DialogResult.OK Then
prtsettings = .PrinterSettings
AddHandler printDoc.PrintPage, AddressOf print_PrintPage
printDoc.Print()
Else
Return False
End If
End With
Return True
End Function

Private Sub print_PrintPage(ByVal sender As Object, ByVal e As PrintPageEventArgs)

Dim Y As Integer = 50
Dim cantidad As Integer = 0
Dim totalfaltas As Integer = 0

dsppc = objpersonal.obtenerpersonalporcargo(CbCargo.Select edValue)
e.Graphics.DrawString("Nombre" & " " & "Apellido" & " " & "DNI" & " " & "Cargo" & " " & "Fecha de Alta" & " " & "firma", New Font("Arial", 12, FontStyle.Bold), Brushes.Red, 100, Y)
Y = Y + 1
e.Graphics.DrawString("___________________________ ___________________________________________", New Font("Arial", 12, FontStyle.Bold), Brushes.Red, 100, Y)
Y = Y + 5
For Each x As DataRow In dsppc.Tables("personalporcargo").Rows

Y = Y + 20
e.Graphics.DrawString(x.Item(0) & " - " & x.Item(1) & " - " & x.Item(2) & " - " & x.Item(3) & " - " & x.Item(4) & " - _________________", New Font("Arial", 10, FontStyle.Bold), Brushes.Black, 100, Y)
Next

dsppc.Clear()
e.HasMorePages = False
End Sub




y algo asi me queda la impresio (un asco =( )



Cita:
Nombre - Apellido --- DNI -- Cargo --- Fecha de Alta ---- firma
Viviana - Aguirre - 28249773 - Profesor - 11/11/2010 - _________________
horacio - santucho - 44546444 - Profesor - 02/12/2010 - _________________
romina - silva - 33234777 - Profesor - 03/01/2011 - _________________



por favor ayuda ya tengo que imprimir muchos documentos de este tipo...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:46.