PDA

Ver la Versión Completa : impresion de TstringGrid


microbiano
13-10-2010, 01:32:13
hola encotre en el foro este codigo que al parecer imprime el contenido de un TStringGrid.

ItemIndex := 1;
if ItemIndex < STgrid.RowCount then begin
QRLabel1.Caption := STgrid.Cells[0,ItemIndex];
QRLabel2.Caption := STgrid.Cells[0,ItemIndex];
QRLabel3.Caption := STgrid.Cells[0,ItemIndex];
end;
Inc(ItemIndex);
MoreData := ItemIndex <= STgrid.RowCount;



pues bien resulta que ya lo puse en un boton pero no funciona de plano no me arroja ningun eror, ni mensaje, y para variar no me muestra el reporte jejeje.


de antemano muchas gracias por que creo que ultimamente me he vuelto muy pregunto jejeje pero eso indica que se debe a que estoy trabjando en lo que me gusta ;-)

Neftali [Germán.Estévez]
13-10-2010, 09:58:53
Parece que vuelca el contenido de las filas del StringGrid sobre un report de QuickReport. Supongo que debe ser un reporte con los tres Labels en una banda de Detalle.

żTienes el report hecho?

microbiano
13-10-2010, 14:17:58
no tengo el reporte hecho no quise ahce nada sin saber como funciona, gracias por las respuestas.

Caro
13-10-2010, 17:47:41
no tengo el reporte hecho no quise ahce nada sin saber como funciona

Hola microbiano, para que te funcione el codigo necesitas crearte un reporte con QuickReport tal como te dice Neftali, una bada detalle y dentro de ella 3 QrLabels, donde cada QrLabel sera una columna de tu StringGrid.

La variable ItemIndex debes inicializarlo en el evento OnBeforePrint del QuickReport.

Y en el evento OnNeedData de tu reporte colocas el codigo que tienes, haciendo este cambio para recuperar los valores de tus 3 columnas y no solo la primera.


....................................
QRLabel1.Caption := STgrid.Cells[0,ItemIndex];
QRLabel2.Caption := STgrid.Cells[1,ItemIndex];
QRLabel3.Caption := STgrid.Cells[2,ItemIndex];
....................................


Saluditos