Salut

je voudrais formater les nombres contenus dans les cellules d'un stringgrid
en tenant en compte les séparateurs de milliers.
Donc, après avoir tapé "1000" et validén on doit avoir "1 000".
J'utilise le code suivant dans la procedure OnDrawCell :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
procedure TVentAnalFrm.FormatNombres(Sender: TObject; ACol,ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
         Canvas.Pen.Style := psClear;
         Canvas.Rectangle(Rect);
         Canvas.TextOut(Rect.Right - Canvas.TextWidth(Cells[ACol, ARow])-10,
            Rect.Top,  FormatFloat('#,##0',StrtoFloat(Cells[ACol, ARow])));
end;
A l'exécution, je remarque que la valeur initiale saisie et la valeur formatée
apparaissent toutes deux dans la cellule.
La cellule n'est donc pas vidée avant le dessin sur le canvas.
Mais quand je double clique sur la cellule pour l'éditer, la valeur formatée disparaît et l'édition se fait sur la valeur initiale.

Avez-vous une solution ?