begin process at 2010 02 10 09:39:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

Bases de données

 > 

Formater les champs d'un TDBGrid


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Formater les champs d'un TDBGrid

mardi 19 octobre 2004 à 14:35:16 | Formater les champs d'un TDBGrid

Cylc

Bonjour,

Mon problème est le suivant :

J'ai un TDBGrid relié à un query, quand j'ouvre le query les données s'affichent, pas de souci.
Je voudrais en fait formater le dernier de mes champs, qui représente un nombre, en séparant les milliers, de la forme ###.###.###,##

J'ai reussi à le faire dans un StringGrid, grace un précedent post, en utilisant le OnDrawCell, mais je ne suis pas parvenu a reproduire ça sur le TDBGrid.

merci de m'aiguiller :)

Cylc
mardi 19 octobre 2004 à 17:28:15 | Re : Formater les champs d'un TDBGrid

MHI

Si tu as des champs persistent tu peux appliquer ton format dans la propriété DisplayFormat (il existe pour les float, currency)
mercredi 20 octobre 2004 à 00:29:20 | Re : Formater les champs d'un TDBGrid

Loulibier

Membre Club
salut cylc,

as-tu essayé cette méthode :

ThousandSeparator := ',';
DBGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, FormatFloat('###.###.###,#####', Field.AsFloat));


ça reste à peut près la même méthode que sur ton dernier post.
Il faut bien sure intégrer des testes sur le fait que ton Field sois ou non un réel.

Bonne Prog,

Olivier

PS : Lorsqu'une réponse vous convient, n'oubliez pas de la valider.
mercredi 20 octobre 2004 à 10:32:10 | Re : Formater les champs d'un TDBGrid

Cylc

Ca me parait pas mal mais je suis débutant et je ne sais pas comment tester que je suis bien dans une colonne spécifique, ni dans quel evenement inclure ce code (j'ai essayé le DrawDataCell mais le programme passe jamais dedans)

Quand a la fonction DisplayFormat je ne sais carrement pas ou l'utiliser malgré qu'elle apparaisse dans l'aide.


Merci pour vos réponse en tout cas
mercredi 20 octobre 2004 à 12:06:11 | Re : Formater les champs d'un TDBGrid

Loulibier

Membre Club
Il faut l'intégrer dans le OnDrawCell de ton composant TDBGrid

procedure TWndMain.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
try
DBGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, FormatFloat('###.###.###,#####', Field.AsFloat));
except
DBGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, Field.AsString);
end;
end;


il te suffit d'initialisé qu'une seule fois le séparteur des milliers.

ThousandSeparator := ',';


Bonne Prog,

Olivier

PS : Lorsqu'une réponse vous convient, n'oubliez pas de la valider.
mercredi 20 octobre 2004 à 13:07:30 | Re : Formater les champs d'un TDBGrid

Cylc

Comme je disais, j'ai essayé le DrawDataCell mais je n'arrive pas à passer dans la procédure pendant l'execution

J'ouvre le query, ca affiche automatiquement les données de la tables dans mon DBGrid, jamais on passe dans le DrawDataCell, je ne peux donc pas séparer les milliers du 5eme champs
mercredi 20 octobre 2004 à 13:12:53 | Re : Formater les champs d'un TDBGrid

Wriggles

Réponse acceptée !
Salut,

pour pouvoir trouver la propriété DISPLAYFORMAT, tu fais un double click sur ton query, la fenêtre d'éditeur de champ doit apparaitre.
Si cette dernière est vide, fais un clic droit dessus et "Ajouter tous les champs".

Ensuite tu n'as qu'à te positionner sur le champ souhaité et tu auras accès à ses différentes propriétés, y compris "DisplayLabel"

Bonne prog à toi.
mercredi 20 octobre 2004 à 14:12:50 | Re : Formater les champs d'un TDBGrid

Cylc

Merci beaucoup de vos réponses, le DisplayFormat arrange effectivement mes bidons :)


Cette discussion est classée dans : champs, formater, query, tdbgrid


Répondre à ce message

Sujets en rapport avec ce message

Editer des champs créés dans une Query [ par mammouth_fr ] j'ai une base MSDE, Dasn une ADOQuery, je créée une requête SQL que je construit dynamiquement car je rajoute x champs dedans pour un traitement ultér Ttable et mastersource [ par valoji ] Salut, Voilà j'ai des tdbedit qui sont rattachés à un mon datasource de mon TTABLE, et TDBGrid qui rattaché à mon datasource de ma Query. Dans la prop Formater une cellule dans un TDBGrid ! [ par desprits ] Bonjour, j'aimerais savoir si c'est possible de donner un format a une celule dans un TDBGrid ? Et comment ?Merci ! probleme avec les query [ par yayo001 ] dans ma forme6, j'utilise un query 1 pour effectuer ma recherche mais dans ma requête sql, je n'utilise que certaine cellule de ma base, le problème e DisplayFormat DBGrid [ par eli42 ] Bonjour, Je voudrais Formater 2 Colonnes Float dans un DBGrid, colunns[0] en ####-##-##### et colunns[5] en #.##, mes Champs ne sont pas Persistent, d Ajuster automatiquement la largeur des champs d'une tdbgrid [ par oluha ] BonjourJ'ai une tdbgrid que je rempli avec les données d'une table sous access. Seulement la largeur des champs est trop grande et j'aimerai donc qu'e grid [ par aurel_kb ] j'ai lu dans une discussion que pour formater un champs d'un Dbgrid, on double clique sur le DBgrid et sur le champs qu'on veut formater on change la Exitance d'une base ... [ par Hanyas ] Bonjour , je sens que je vais me faire taper sur les doit mais temps pis ... je suis en train de programmer un installer avec inno setup et je doit do comment arrondir un chiffre [ par momohbj ] voilà.j'ai un champs calcaulé (M) sur la base d'un produit de deux autres champs (Q) et (PU) dont:Q: Rèel, PU: Réel et le montant est aussi réel.le ch Modification avec une Dbgrid reliée a un datasource lui meme reluié a une query!!! [ par bundyboss ] Sakut a vous,dans mon programme je souhaite modifier les informations qui sont dans ma dbgrid.Si ma dbgrid est liée a une table ca fonctionnne ss prob


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales