Como imprimo un datagrid!

Tengo este problema hace bastante tiempo y no como resolverlo espero que me puedan ayudar, solo necesito imprimir datos de un data grid.

1 respuesta

Respuesta
1
No se como estés cargando el grid, pero yo tenia ese problema, necesitaba sacar los datos de un grid para acomodarlos a placer y todo sin pasar por el data report.
Descgraciadamente esto implica un poco de código,
Lo primero que hice fue hacer una rutina para que me cargara el drig y llevaba un contador de cual era el numro de row. Que lleva
Ya que definía eso, use el objeto printer
Y hacia un bucle para mandar los datos que quería a la impres, regularmetne un for,
for i = q to contador
y dentro pongo lo que dese que se imprima con el objeto printer
Datagrid1.Row = i
datagir1.col = 1
Printer. Print datagrid1.text
Adonde me va a imprimir el contenido de la ubicación de l celda de la linea1, columna 1, y así sucesivamente recorría las columnas
datagrid1.col = 2
printer. Print datagrid1.text
hasta que se completaba el ciclo y recorría todas la lineas(rows)
Y para el objeto printer solo una reconecdacion
Así cambias el font
Printer.font = "Arial"
Asi negritas
printer.fontbold = true
tamaño
Printer.Fontsize = 21
Y así sucesivamnte eso del objeto printer lo encuentras en el msdn para que sepas todas las propiedades
y al final y fuera del next
printer. Enddoc
Y si quieres imprimir columnas lo tienes que hacer en base al numero de tabulación en la impresora
Printer. Print, tab(1), nombre
Printer. Print, tab(10), Apellido
Etc.
Espero te sea de ayuda esto, de todos modos para comentarios, dudas o reclamaciones no dudes en decírmelas
No me podes mandar el código de como imprimiste el datagrid
Gracias.
Dim acarreador(1 To 10) As String
Printer.FontName = "arial"
Printer.FontSize = 8
Printer.Print , Tab(2); "CLAVE"; Tab(13); " DESCRIPCION"; Tab(55); "PREC/PZ"; Tab(65); "DESC 1"; Tab(75); "DESC 2"; Tab(85); "DESC 3"; Tab(95); "DEPTO"; Tab(105); "PZ/CAJA";
For i = 1 To Contador'de linea
With MSFlexGrid1
.Row = i
.Col = 0
acarreador(1) = .Text
.Col = 1
acarreador(2) = .Text
.Col = 2
acarreador(3) = .Text
.Col = 3
acarreador(4) = .Text
.Col = 4
acarreador(5) = .Text
Printer.Print
.Col = 5
acarreador(6) = .Text
.Col = 6
acarreador(7) = .Text
.Col = 7
acarreador(8) = .Text
End With
Printer.Print , Tab(2); acarreador(1); Tab(13); acarreador(2); Tab(55); acarreador(3); Tab(65); acarreador(4); Tab(75); acarreador(5); Tab(85); acarreador(6); Tab(95); acarreador(7); Tab(105); acarreador(8);
Printer.Line (1, Printer.CurrentY)-(10000, Printer.CurrentY)
Next
Printer. EndDoc
Todo el código de aariva solo márcalo, cópialo y pégalo para que veas las lineas como devén de ir y lo puedas analizar, todo va en referencia a lo que te escrvi anteriormente
Espero te sea de ayuda esto, de todos modos para comentarios, dudas o reclamaciones no dudes en decírmelas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas