Ver Mensaje Individual
  #5  
Antiguo 30-08-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
No he comentado una cosa importante, Tampoco necesitas un TQuickREport , al menos en diseño:
Código Delphi [-]
var q:TQuickReport;
begin
 q := TquickReport.Create(nil);
 ....

  Freeandnil(q);
Igual que creamos un TStringList, podemos crear cualquier componente de delphi.

Para personalizar, yo lo haría desde el Grid que tengas, ocultando o mostrando las columnas, y despues guardar las columnas visibles en la BBDD.

Para guardar el ancho de los listados, bien podrías usar una tabla especial, yo la llamo "frases":
Código:
 codigo (varchar(50))           Valor (varchar(300))
--------------------------------------------------
ListA-Listado Uno                 idCliente_150;Nombrecliente_200;NAlbaran_80;
ListA-Listado Dos                 idCliente_150;Fecha_90;NAlbaran_80;
ListF-Listado Dos                 idCliente_150;Fecha_90;NAlbaran_80;
ListFontA-Listado Dos           Times New Roman,0,16711680,16,7
"ListA-" es un prefijo que se usa, en este caso para Listados de Albaranes.
"ListF-" para listados predefinidos de Facturas.
"ListFontA-" para saber la fuente que se usará en ese listado.

El resto del campo Código (39 caracteres) es el título del listado predefinido, así de paso limitamos la longitud del título para que quepa siempre en el folio.

Con una consulta del tipo
Código SQL [-]
select * from frases where codigo like 'ListA%'
Obtendrías todos los listados predefinidos de Albaranes. En ejecución, recorres esta query y añades cada listado a un TPopupMenu (por ejemplo).

Al cargar un listado predefinido, haces visibles las columnas del grid que estan guardadas en el campo "Valor" de ese listado

El campo Valor, lo cargas en la propiedad DelimitedText de un Stringlist con Delimiterchar := ';', y despues por cada item del Stringlist, buscas la posición del caracter guión bajo "_", a la izquierda tienes el nombre del campo, y a la derecha el ancho que tendrá en Grid.

Sin duda te hará falta FontTostr
para guardar la fuente del Grid y despues recuperarla.

No dudo que otra gente lo haga de una manera mejor. Estaremos a la expectativa .

Un saludo

Última edición por Lepe fecha: 30-08-2005 a las 17:32:36.
Responder Con Cita