Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-05-2007
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 20
amadis Va por buen camino
Alimentar QRlabels desde 1 columna de TstringGrid

Estoy tratando de alimentar 75 QRLabels (nombrados desde QRLabel1 hasta QRLabel75) Todos estan incluidos en un QRdetailBand que ocupa toda la hoja
y estan puestos sobre un QRImage (que es un formulario impreso que debo completar con los datos del StringGrid)

Traté de hacerlo para probar sólo con algunos, mediante este código que encotré en el foro pero el reporte me crea MILES DE HOJAS con los 3 labels
Pero con los datos que figuran en las columnas. Me crea en la Hoja 1, 3 la columna 0(fila 0 que es enzabezado)

Y el dato que necesito esta siempre en la Columna 1, en las filas que existan desde la 1º fila despues de una FIXEDROW hasta la última que haya.

Código Delphi [-]
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;

Entonces si tengo 25 Rows en el StringGrid, cargar los caption de los Labels del 1 al 25 con los datos de las filas 1 a 25 (columna 0 nada mas).

Había pensado en hacer pero no se como, un For o un While recorriendo la Grid hasta llegar a la ultima fila
Y que cada vuelta haga lo siguiente: (porsupuesto que lo que propongo es solo una idea no se como llevarla acabo)

Código Delphi [-]
 QRLabel(ItemIndex).caption := STgrid.Cells[0,ItemIndex];
 Inc(ItemIndex);
Responder Con Cita
  #2  
Antiguo 02-05-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Poder: 20
basti Va por buen camino
Código Delphi [-]
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;

Si inicializas siempre ItemIndex, la última condición siempre se cumplirá, por lo tanto te generará páginas indefinidamente. La inicialización deberías ponerla en el evento BeforePrint del informe.
Responder Con Cita
  #3  
Antiguo 03-05-2007
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 20
amadis Va por buen camino
Thumbs up listo! era eso nomás

Efectivamente el problema de los millones de paginas era que iniciaba mal ItemINdex.

Muchas gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Hacer que una columna de un DbGrid aparezca distinta según valor Aprendiendo OOP 11 30-11-2018 14:47:20
Destruir Qrlabels creados en tiempo de ejecucion Ade Impresión 6 08-10-2006 19:46:28
Acomodar QRLabels en tiempo de ejecucion rex Impresión 9 08-10-2006 00:02:22
Como mandar el tamaño de una columna desde codigo en fast report Lupita Impresión 0 25-04-2006 23:50:30
Como Ocultar Qrlabels hebert ordonez Impresión 3 11-09-2004 06:17:58


La franja horaria es GMT +2. Ahora son las 07:57:27.


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
Copyright 1996-2007 Club Delphi