Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

imprimir datagrid

Estas en el tema de imprimir datagrid en el foro de Visual Basic clásico en Foros del Web. hola amigos, deseo imprimir el contenido de un datagrid de la siguiente forma: nombre (campo de bd) fecha dd/mm/yyyy (campo de bd) __________________________________________ producto: (nombre ...
  #1 (permalink)  
Antiguo 30/04/2008, 10:01
 
Fecha de Ingreso: agosto-2006
Mensajes: 110
Antigüedad: 17 años, 9 meses
Puntos: 0
imprimir datagrid

hola amigos, deseo imprimir el contenido de un datagrid de la siguiente forma:

nombre (campo de bd)
fecha dd/mm/yyyy (campo de bd)
__________________________________________

producto:

(nombre de producto)
1.- pedido1 2.- pedido2 3.- pedido3
(nombre de producto)
1.- pedido1 2.- pedido2 3.- pedido3
(nombre de producto)
1.- pedido1 2.- pedido2 3.- pedido3

y asi sucesivamente el detalle es que necesito imprimirlo en una impresora de tickets.

de antemano les agradesco mucho su tiempo.

saludos
  #2 (permalink)  
Antiguo 30/04/2008, 12:52
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Re: imprimir datagrid

Cita:
Iniciado por william_085 Ver Mensaje
hola amigos, deseo imprimir el contenido de un datagrid de la siguiente forma:

nombre (campo de bd)
fecha dd/mm/yyyy (campo de bd)
__________________________________________

producto:

(nombre de producto)
1.- pedido1 2.- pedido2 3.- pedido3
(nombre de producto)
1.- pedido1 2.- pedido2 3.- pedido3
(nombre de producto)
1.- pedido1 2.- pedido2 3.- pedido3

y asi sucesivamente el detalle es que necesito imprimirlo en una impresora de tickets.

de antemano les agradesco mucho su tiempo.

saludos
Utiliza el objeto Printer:
Código:
 
Printer.Print "Texto a imprimir"
' Así vas añadiendo lo que deseas imprimir,
' en tu caso los detalles de los productos...
Printer.EndDoc
Solo que no sé cuál sería la fuente más rápida para imprimir en una impresora de Tickets...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 30/04/2008, 14:41
 
Fecha de Ingreso: agosto-2006
Mensajes: 110
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: imprimir datagrid

Printer.Print "Texto a imprimir"
' Así vas añadiendo lo que deseas imprimir,
' en tu caso los detalles de los productos...
Printer.EndDoc

no entendi david, donde jalaria el datagrid en el codigo?
  #4 (permalink)  
Antiguo 30/04/2008, 14:46
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: imprimir datagrid

Hola,fijate si te sirve esto:

Imprimir Datagrid

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #5 (permalink)  
Antiguo 30/04/2008, 15:16
 
Fecha de Ingreso: agosto-2006
Mensajes: 110
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: imprimir datagrid

hola sebal, ya habia visto ese ejemplo, pero como voy a mandar a imprimir a una impresora de tickets, por eso tengo la duda
  #6 (permalink)  
Antiguo 30/04/2008, 15:18
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Re: imprimir datagrid

Cita:
Iniciado por william_085 Ver Mensaje
hola sebal, ya habia visto ese ejemplo, pero como voy a mandar a imprimir a una impresora de tickets, por eso tengo la duda
Creo que va a funcionar igual, solo debes ubicar correctamente los datos a imprimir (y si no me equivoco también configurar una fuente apropiada para que no tarde tanto en imprimir)...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 01/05/2008, 18:31
 
Fecha de Ingreso: agosto-2006
Mensajes: 110
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: imprimir datagrid

disculpen otra cosa, y para mandar a imprimir a 3 impresoras de tickets a la vez como le podria hacer?

o sea que al darle clic al boton imprimir automaticamente me mande a imprimir a 3 impresoras al mismo tiempo.



gracias
  #8 (permalink)  
Antiguo 07/05/2008, 12:06
 
Fecha de Ingreso: agosto-2006
Mensajes: 110
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: imprimir datagrid

el problema para la impresion es que quiero que me imprima en el orden como lo tengo arriba
  #9 (permalink)  
Antiguo 07/05/2008, 13:27
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Re: imprimir datagrid

Cita:
Iniciado por william_085 Ver Mensaje
el problema para la impresion es que quiero que me imprima en el orden como lo tengo arriba
Pues simplemente debes modificar el código que publicó seba123neo según tus necesidades. Con el objeto Printer puedes envíar todos los datos que necesitas a la impresora. Infelizmente no tengo impresora y mucho menos de tickets, pero puedes ir probando con el objeto Printer y sus propiedades para ver cómo te sale. Después nos cuentas como te fue...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #10 (permalink)  
Antiguo 07/05/2008, 14:49
 
Fecha de Ingreso: agosto-2006
Mensajes: 110
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: imprimir datagrid

ya me imprime bien, solo que no me salen alineados los datos, que puedo hacer ahi? se deben de alinear desde el datagrid o directamente en el codigo de impresion?

Última edición por william_085; 07/05/2008 a las 15:18
  #11 (permalink)  
Antiguo 07/05/2008, 15:33
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Re: imprimir datagrid

Cita:
Iniciado por william_085 Ver Mensaje
ya me imprime bien, solo que no me salen alineados los datos, que puedo hacer ahi? se deben de alinear desde el datagrid o directamente en el codigo de impresion?
Puedes alinearlo directamente en el código de Impresión. Tienes dos propiedades para imprimir el texto en una posición determinada (X, Y):
Código:
 
Printer.ScaleX 'Posición Horizontal
Printer.ScaleY 'Posición Vertical
Espero que te ayude.
Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 07/05/2008, 16:17
 
Fecha de Ingreso: agosto-2006
Mensajes: 110
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: imprimir datagrid

solo explicame algo mas, x ejemplo, eso se usa cuando sabes que es lo que vas aponer, pero por ejemplo yo estoy imprimiendo datos del data grid, entonces ahi se le da la orden completa que imprima el data grid completo, y ahi viene el problema, es lo que no entiendo como le puedo hacer.

disculpa tanta pregunta
  #13 (permalink)  
Antiguo 07/05/2008, 16:17
 
Fecha de Ingreso: agosto-2006
Mensajes: 110
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: imprimir datagrid

x q la funcion para imprimir es esta:

Public Function imprimir(ByVal DataGrid As DataGrid, _
ByVal rs3 As ADODB.Recordset, _
ByVal Titulo As String) As Boolean



Dim c As Integer
Dim dato As String
Dim Titles As String
Dim Header As String
Dim l As Integer 'number of lines For portrait
Dim LLCount As Integer 'temporary line counter
Dim Rowado As Integer
Dim Rowdatag As Integer
Dim registro As String * MAX_CARACTERES
Dim t As String * MAX_CARACTERES

Screen.MousePointer = vbHourglass

DataGrid1.Row = 0
Header = " PRODUCTOS:"
Printer.Font.Size = 10
Printer.Font.Bold = True
Printer.Font.Name = "Courier"


Printer.Print " SUCURSAL: "; Label3
Printer.Print " "
Printer.Print " FECHA: "; Label4


For c = 1 To DataGrid.Columns.Count

t = DataGrid.Columns(c - 1).Caption

Titles = " " & LTrim(Titles & t) & " "
Next
' Configura la fuente de la impresión para el encabezado

Printer.Font.Size = 8
Printer.Font.Bold = True
Printer.Font.Name = "courier"



l = 82
' imprime el titulo , el encabezado y el número de página

Printer.Print Space(20) & Titulo
Printer.Print Header; Printer.Page
Printer.Print Titles
Printer.Font.Bold = False

DataGrid.Refresh

' recorre los datos del datagrid
For Rowado = 1 To Int((rs3.RecordCount - 1) / 13) + 1


For Rowdatag = 0 To DataGrid.VisibleRows - 2
DataGrid.RowBookmark (Rowdatag)
dato = Space(MAX_CARACTERES)

Dim s As Variant
For c = 1 To DataGrid.Columns.Count

registro = DataGrid.Columns(c - 1).CellText(DataGrid.Bookmark)

dato = " " & LTrim(dato & registro) & " "

Next
LLCount = LLCount + 1


If LLCount <= l Then

Printer.Print dato
Else
' Agrega una nueva hoja

Printer.NewPage
Printer.Print Space(40) & Titulo
Printer.Print Header; Printer.Page
Printer.Print Titles
Printer.Print dato
LLCount = 0

End If
rs3.MoveNext
Next Rowdatag
DataGrid.Scroll 0, DataGrid.VisibleRows
Next Rowado
Printer.Print " "
Printer.EndDoc
Screen.MousePointer = vbNormal

imprimir = True

Exit Function

' error
Error_Function:

MsgBox Err.Description, vbCritical


End Function
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 21:40.