Imprimir info de un StringGrid con un QuickRep
hola
necesito imprimir la informacion que tengo en un StringGrid, y estoy usando QuickRep, Por ahi encontre un codigo: Cita:
Pero me da un problema en ***, agradeceria su ayuda... es que no entiendo porque si esa variable es boolean y le asigno un integer... Si Alguien tiene un codigo que pueda postear... Gracias:D |
Realmente esto nada tiene que ver con QuickReport ni StringGrids.:mad:
Y tú mismo sabes la respuesta: Cita:
// Saludos |
nada, ese codigo con esa diferencia de tipos mo lo encontre en un foro por ahi...
Lo que necesito es poder imprimir la informacion que estan en las celdas de un StringGrid utilizando QuickRep u otro metodo... Imagina que tengo una factura con 4 columnas: Codigo, cantidad, precio y total... Pero las filas son infinitas, necesito imprimir esta factura que se encuentra en el StringGrid Gracias... |
Puedes poner en tu componente TQuickRep 1 DetailBand (TQRBand) y dentro del DetailBand 4 TQRLabel. En el metodo QuickRep1BeforePrint inicializas tu variable global "CurrentItem" con el que controlarás la linea de tu StringGrid donde se te encuentras al ir imprimiendo cada renglon:
Código:
procedure TForm1.QuickRep1BeforePrint(Sender: TCustomQuickRep; Espero te sirva Yo lo solucioné así pero tengo problemas si intento agrupar por Cliente por ejemplo, no he podido agrupar que cada que sea un cliente diferente, muestre la suma del importe para el cliente, imprima el encabezado de las columnas para el siguiente cliente y su total y asi sucesivamente, Alguien sabe como hacerlo? Saludos |
Saludos
Un abraso al foro:
Que pasaría si la cantidad de columnas del StrigGrid fueran indeterminadas, es decir que no sea un número fijo (4 en el caso de Pirucho). |
Creación de componentes en ejecución.
Si no supieramos el numero de columnas a imprimir porque la stringgrid es de columnas variables por el usuario tendriamos que crear los TQRLabel en tiempo de ejecución:
Algo así: este codigo seria en el create o antes del preview o del print del report. for x:=0 to stringgrid.colcount-1 do begin qlabeltemp:=tqrlabel.create(detalband); qlabeltemp.tag:=x; //Asi identificamos a la columna que le corresponde end; luego en el oneeddata pondriamos algo asi. for x:=0 to detailband.componentscount -1 with detailband.components[x] as tqrlabel do begin caption:=stringgrid.cells[tag,linea]; end; end; Bueno espero que este codigo sirva de algo a alguien... |
La franja horaria es GMT +2. Ahora son las 11:25:02. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi