Changer la couleur dans un DBgrid en fonction d'une date... [Résolu]

Messages postés
6
Date d'inscription
jeudi 25 novembre 2004
Dernière intervention
1 septembre 2005
- - Dernière réponse : nicduf
Messages postés
6
Date d'inscription
jeudi 25 novembre 2004
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
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
163
Date d'inscription
dimanche 20 octobre 2002
Dernière intervention
31 juillet 2008
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de exyacc
Messages postés
163
Date d'inscription
dimanche 20 octobre 2002
Dernière intervention
31 juillet 2008
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de exyacc
Messages postés
6
Date d'inscription
jeudi 25 novembre 2004
Dernière intervention
1 septembre 2005
0
Merci
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
Commenter la réponse de nicduf
Messages postés
6
Date d'inscription
jeudi 25 novembre 2004
Dernière intervention
1 septembre 2005
0
Merci
Bon, je suis un imbécile heureux, j'avais mis le mauvais numéro de colonne...
Ca marche nickel...
Merci bcp !!!!!
Commenter la réponse de nicduf

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.