PDA

Ver la Versión Completa : Ocultar o mostar un DataText en Rave Report...


Jose Roman
29-07-2011, 14:29:14
Hola a todos,

Tengo Rave Reports 7.5 BE, tengo un informe que se muestra de la siguiente manera:

JUAN 2533
JUAN 2677
JUAN 2888
JOSE 2599

pero mi cliente desea que aparezca asi:

JUAN 2533
.....2677
.....2888
JOSE 2599

Alguien sabe como realizar esto??? Gracias de antemano.

Nota: Los puntos que aparecen en el listado que desea el cliente no van, solo los puse para que se mostrara alineado, no sabia como hacerlo de otra manera.

Loviedo
29-07-2011, 16:19:13
Una solución puede ser con un TClientDataSet, que lo utilizaremos como tabla temporal.
Nos traemos a un Query la consulta que deseamos mostrar en el report, lo recorremos mediante un bucle y vamos agregando los registros al TClientDataSet, evitando repetir los campos iguales. Luego unimos el TClientdataset al Rave y listo.
Saludos.

Jose Roman
01-08-2011, 23:46:11
ok, gracias por ayudarme pero te comento que por fin se me ilumino el cerebro, aquí les dejo la solución para alguien en el futuro:

Colocar un Text Component con su propiedad visible en FALSE y su propiedad TEXT vacia
En el evento DataBand seleccionar OnBeforePrint y escribir:
if (DataText1.Text = VarText.Text) then DataText1.Visible := False;
else DataText1.Visible := True;
end if;
VarText.Text := DataText1.Text;


Listo ahora no mostrara los registros repetidos.

Loviedo
02-08-2011, 14:57:05
No se si será problema de versión, pero lo he probado y no me funciona.
Saludos.

Jose Roman
02-08-2011, 15:00:04
mm, cuentame que estas haciendo??

Loviedo
02-08-2011, 18:05:32
El tema lo he resuelto de la siguiente manera:
He colocado un DataText1 en la cabecera del Report. He creado un Parametro 'Var1'. En su DataField he puesto

Param.Var1.
En el evento OnBeforePrint del Datatext2:

if (DataText2.Text = RaveProject.GetParam ('Var1')) then DataText2.Visible := False;
else DataText2.Visible := True;
end if;

En el evento OnAfterPrint del Datatext2:

RaveProject.SetParam ('Var1',DataText2.Text);
.
Me sigue gustando más, imprimir con la tabla ya creada.
Saludos.