DBGrid avec Colonne Hors base

thonyboy Messages postés 165 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 16 février 2011 - 20 mai 2005 à 12:05
Mike SN53477 Messages postés 26 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 27 août 2005 - 21 mai 2005 à 21:26
Bonjour,

Comment faire pour mettre le texte que l'on veut dans les Cell d'un DBGrid quand la colonne concernée n'est pas rattachée a un champs d'une base ?

En fait j'ai un DBGrid avec les champs de ma base. J'ai rajouté une colonne.
Et dans cette collonne j'aimerais mettre "VRAI" ou "FAUX" en fonction d'un test.
(Je vais cela dans l'evennement BGrid1DrawColumnCell afin de controller la couleur d'affichage)

Enfin, toujours dans cette évenement, j'aimerais tester la valeur de cette colonne, pour savoir si je dois continuer a afficher la les autres champs de la ligne du DBGrid en Vert ou en Rouge suivant que la valeur de la premiere colonne est VRAI ou FAUX

D'avance merci pour votre aide.

4 réponses

vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006
20 mai 2005 à 12:43
Pour un DBGrid, les références aux données qui y sont affichées sont définies dans la classe TCustomDBGrid.

Par un StringGrid voit ces données définies par la classe TStringGrid.

Donc, à mon sens et ce que j'en ai déjà testé, tu ne sait pas afficher
des données non reprises dans le dataset que tu lies au DBGrid.



Pour résoudre ton problème tu pourrais transposer le contenu du dataset
dans un Stringgrid que tu as préalablement configuré pour ressembler au
DBGrid mais + une colonne pour tes vrais et faux.

La couleur d'affichage peut alors adapter dans l'event OnDrawcell.

Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans.
0
thonyboy Messages postés 165 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 16 février 2011
20 mai 2005 à 13:00
Je ne voyais pas les choses comme cela...

La solution de passer par un StringGrid pour afficher mon DataSet me plait moyennement



Je suis étonné de ne pas pouvoir ecrire une valeur dans la TColumn du DBGRid que j'ai défini.



Dans le pire des cas je pensais que j'aurais a mettre un champ calculé dans mon DataSet, et affiché celui ci dans mon Dbgrid..
0
vincentstryckmans Messages postés 228 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 25 octobre 2006
20 mai 2005 à 13:41
Ta solution de champ calculé me paraît meilleur que la mienne vu que le serveur sql va faire tout le travail pour toi :

Faire ton test et en plus le DBGrid aura le bon nombre de colonne avec le vrai/faux.


Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans.
0
Mike SN53477 Messages postés 26 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 27 août 2005
21 mai 2005 à 21:26
Essaye avec un DBCtrlGrid. C'est plus compliqué à utiliser.
La première ligne du DBCtrlGrid reçoit les DBEdit.
C'est là que tu peux y mettre des labels.
0
Rejoignez-nous