Changer la couleur dans un DBgrid en fonction d'une date...

Résolu
nicduf Messages postés 6 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 1 septembre 2005 - 31 août 2005 à 16:10
nicduf Messages postés 6 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 1 septembre 2005 - 1 sept. 2005 à 10:28
Salut à tous,
J'ai un DBGrid contenant une liste d'objet empruntés ainsi que la date à laquelle ils doivent être empruntés.
Je voudrais savoir comment faire pour changer la couleur de l'objet (le mettre en rouge par exemple) si l'objet n'a pas été rendu à la date prévue (J'imagine que je dois comparer la date de retour prévue à la date du jour...)...

Quelqu'un a une idée du code ?
Merci d'avance pour vos réponses
Nicolas

4 réponses

exyacc Messages postés 163 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 31 juillet 2008
31 août 2005 à 18:45
essayes ca:



dans l'evenement ondrawcolumncell mets:

( j'ai mis columns[0] car ma date est dans ma premiere colonne de ma dbgrid)



var text:string;

la_date:tdate;

begin

if not (varisnull((sender as trxdbgrid).Columns[0].Field.Value)) then

begin

la_date:=(sender as trxdbgrid).Columns[0].Field.Value;

if la_date<date then

(sender as trxdbgrid).canvas.brush.color:=clred

else

(sender as trxdbgrid).canvas.brush.color:=clblue;

end;

(sender as trxdbgrid).canvas.FillRect(rect);

(sender as trxdbgrid).canvas.font.color:=clBlack;

(sender as trxdbgrid).canvas.font.style:=(sender as trxdbgrid).canvas.font.style;



if not (varisnull((sender as
trxdbgrid).Columns[datacol].Field.Value)) then
text:=(sender as
trxdbgrid).Columns[datacol].Field.Value else text:='';

(sender as trxdbgrid).canvas.textout(rect.left+2,rect.top+2,text);

end;


ca marche chez moi ;o)
exyacc
3
exyacc Messages postés 163 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 31 juillet 2008
31 août 2005 à 18:47
tu peux mettre le nom de ta dbgrid a la place de (sender as tdbgrid) ,
moi j'ai du mettre ca car j'avais pls dbgrid qui utilisaient cette meme
fonction.

attention si tu fais un copier coller, j'utilise des trxdbgrid ... donc enleves "rx"....

exyacc
3
nicduf Messages postés 6 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 1 septembre 2005
1 sept. 2005 à 10:25
Tout d'abord : merci beaucoup,
Je viens d'insérer ton code, pour l'instant, toutes les lignes de la DBGrid passent en rouge même celles qui ne le devraient pas...Je tâche de comprendre pourquoi...
(Si tu as une idée, je veux bien...Désolé d'abuser...)
Nico
0
nicduf Messages postés 6 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 1 septembre 2005
1 sept. 2005 à 10:28
Bon, je suis un imbécile heureux, j'avais mis le mauvais numéro de colonne...
Ca marche nickel...
Merci bcp !!!!!
0
Rejoignez-nous