DBGRID centrage dans une cellule [Résolu]

Messages postés
644
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
9 janvier 2017
- - Dernière réponse : cs_MAURICIO
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
- 6 juil. 2011 à 10:48
Bonjour

Dans le DBGRID il est possible de positionner
le texte à gauche ou à droite
avec Column.Alignment := taRightJustify


En utilisent un format monétaire j'utilise
DBGrid1.Canvas.TextRect(Rect, Rect.left + 2 , Rect.Top + 2,String_mon );
afin de formater l'affichage " xx xxx.xx € ".

par contre comment positionner le texte à partir de la droite afin d'avoir les montant alignée ?

Car c'est .Canvas.TextRect qui positionne le texte.

Merci

yvessimon
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
3
Merci
Salut,

c' est ce que je te disais: la propriété DisplayFormat!
J' en ai profité pour te donner la fonction pour aligner du texte mais avec le bon DisplayFormat, il ne te reste plus qu' à changer l' Alignment!

Je te demande donc d' accepter ma réponse ...

A+



Composants Cindy pour Delphi

Dire « Merci » 3

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

Codes Sources 186 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_MAURICIO
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
3
Merci
Oui, tout à fait ^^
A+


Composants Cindy pour Delphi

Dire « Merci » 3

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

Codes Sources 186 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_MAURICIO
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
0
Merci
Salut,

faux problème!
Utilises la propriété DisplayFormat de ton champ:
Display format doit être ### ##0.00 €

Pour ce qui est d' écrire à droite, c' est la fonction de l' unité Windows: DrawText()

A+


Composants Cindy pour Delphi
Commenter la réponse de cs_MAURICIO
Messages postés
644
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
9 janvier 2017
0
Merci
Bonjour

Voici la solution

position droite :
column.Alignment := taRightJustify;

format d'affichage :
tfloatfield(Form1.dbgrid1.datasource.dataset.fieldbyname('Montant €')).Displayformat := '#,##0.00';

le champ 'Montant €' doit exister et être numérique


yvessimon
Commenter la réponse de yvessimon
Messages postés
644
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
9 janvier 2017
0
Merci
Bonjour,

la difficulté est d'atteindre .Displayformat
avec :
tfloatfield(Form1.dbgrid1....
c'est possible en dynamique

Salutations

yvessimon
Commenter la réponse de yvessimon