Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Cambiar color de QRDBText según su valor (https://www.clubdelphi.com/foros/showthread.php?t=88599)

Voltimer 01-07-2015 20:48:02

Cambiar color de QRDBText según su valor
 
Estoy intentando cambiar el color de la letra de un QRDBTEXT según el valor que este tenga. Si es <10 color negro, si esta entre 10-30 amarillo, y si es >30 en rojo.
El dataset es una ZQuery que realiza una consulta sobre una tabla de una base de datos, y la propiedad DataField de este elemento es un campo de dicha consulta.

Mi duda concretamente es a la hora de establecer la condición if en el evento BeforePrint. ¿Debo de comparar haciendo referencia a ZQuery['campo'] o hay alguna manera de comparar con el valor del QRDBTEXT directamente?

Un saludo, y gracias por vuestro tiempo

ecfisa 01-07-2015 21:37:49

Hola Voltimer, bienvenido a Club Delphi :)

Es costumbre con los que ingresan sugerirles la lectura de nuestra guía de estilo.

Con respecto a tu consulta, creo que es mas simple comparar con el valor de la columna(campo), ejemplo:
Código Delphi [-]
...
var
  Value: Integer;
begin
  with QRDBText1 do
  begin
    Value := DataSet.FieldByName(DataField).AsInteger;
    if Value < 10 then
      Font.Color := clBlack
    else if Value <= 30 then
      Font.Color := clYellow
    else
      Font.Color := clRed;
  end;
end;

Saludos :)

Voltimer 03-07-2015 18:10:53

Todo ok. Mucho más simple comparándolo con los campos de la consulta.
Muchas gracias!!!


La franja horaria es GMT +2. Ahora son las 01:36:17.

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