PDA

Ver la Versión Completa : Fasteport- cambiar el group by


Galahad
20-07-2011, 11:38:16
buenas...

Estoy intentando cambiar la expresión de grupo del fastreport así:


if ( frx.findcomponent( ccomponente ) as tfrxGroupHeader ) <> nil then
(frx.findcomponent( ccomponente ) as tfrxGroupHeader).Condition :=
'frxdbdataset1.'+quotedstr(campo);


pero no funciona....
¿ alguién sabe como se puede hacer ?..

saludos....

DarKraZY
20-07-2011, 11:45:26
¿Qué quiere decir "no funciona"?

Saludos!

Galahad
20-07-2011, 12:08:05
Recibo el mensaje de error siguiente:




Error en la expresión frxdbdataset1.'FECHA_SERVICIO'. Identifier expected.



http://www.clubdelphi.com/foros/attachment.php?attachmentid=2043&stc=1&d=1311156297

Chogo
21-07-2011, 21:20:54
buenas...

Estoy intentando cambiar la expresión de grupo del fastreport así:


if ( frx.findcomponent( ccomponente ) as tfrxGroupHeader ) <> nil then
(frx.findcomponent( ccomponente ) as tfrxGroupHeader).Condition :=
'frxdbdataset1.'+quotedstr(campo);
pero no funciona....
¿ alguién sabe como se puede hacer ?..

saludos....

Parece que estas haciendo referencia al nombre del objecto.

La propiedad username del objecto TfrxDBDataset se usa como referencia dentro del objecto de reporte.

creo que lo correcto seria asi:

if ( frx.findcomponent( ccomponente ) as tfrxGroupHeader ) <> nil then
(frx.findcomponent( ccomponente ) as tfrxGroupHeader).Condition := frxdbdataset1.username+'.'+quotedstr(campo);

Galahad
22-07-2011, 18:29:22
Gracias por contestar, he probado lo que me comentas pero no funciona, me sigue devolviendo el mismo error 'Identifiquer expected'

Al final lo he solucionado con el siguiente código situado en el evento page1beforeprint del fastreport, <_grupo> es una report variable que
asigno desde el programa..


if (<_grupo> = '0') then
groupheader1.condition := '<frxdbdataset1."NUMERO">' else
if (<_grupo> = '1') then
groupheader1.condition := '<frxdbdataset1."CLIENTE">' else
if (<_grupo> = '2') then
groupheader1.condition := '<frxdbdataset1."FECHA">' else
if (<_grupo> = '3') then
groupheader1.condition := '<frxdbdataset1."FECHA_SERVICIO">';

En fin,, mas vale un fin horroroso que un horror sin fin... :D

Saludos...