DBGRID centrage dans une cellule [Résolu]

yvessimon 647 Messages postés mardi 22 avril 2003Date d'inscription 9 janvier 2017 Dernière intervention - 1 juil. 2011 à 11:18 - Dernière réponse : cs_MAURICIO 2233 Messages postés mardi 10 décembre 2002Date d'inscription 15 décembre 2014 Dernière intervention
- 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

Répondre au sujet
cs_MAURICIO 2233 Messages postés mardi 10 décembre 2002Date d'inscription 15 décembre 2014 Dernière intervention - 6 juil. 2011 à 10:13
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_MAURICIO
cs_MAURICIO 2233 Messages postés mardi 10 décembre 2002Date d'inscription 15 décembre 2014 Dernière intervention - 6 juil. 2011 à 10:48
+3
Utile
Oui, tout à fait ^^
A+


Composants Cindy pour Delphi
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_MAURICIO
cs_MAURICIO 2233 Messages postés mardi 10 décembre 2002Date d'inscription 15 décembre 2014 Dernière intervention - 1 juil. 2011 à 12:39
0
Utile
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
yvessimon 647 Messages postés mardi 22 avril 2003Date d'inscription 9 janvier 2017 Dernière intervention - 6 juil. 2011 à 09:51
0
Utile
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
yvessimon 647 Messages postés mardi 22 avril 2003Date d'inscription 9 janvier 2017 Dernière intervention - 6 juil. 2011 à 10:33
0
Utile
Bonjour,

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

Salutations

yvessimon
Commenter la réponse de yvessimon

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.