Accueil > Forum > > > > DisplayFormat DBGrid
DisplayFormat DBGrid
vendredi 3 juillet 2009 à 21:56:40 |
DisplayFormat DBGrid

eli42
|
Bonjour, Je voudrais Formater 2 Colonnes Float dans un DBGrid, colunns[0] en ####-##-##### et colunns[5] en #.##, mes Champs ne sont pas Persistent, donc pas accés à DisplayFormat dans l'nspecteur d'objet,donc j'ai Tapé : DBGrid1.Columns[0].FieldName := QUERY.FieldValues['CHAMP1'].DisplayFormat('#####-##-#####'); DBGrid1.Columns[5].FieldName := QUERY.FieldValues['CHAMP1'].DisplayFormat('#.##'); Mais à chaque fois j'ai "Opération de Variant Incorrecte" Bonne Prog à tous (tes) *Nota j'ai testé la solution de Loulibier : http://www.delphifr.com/forum/sujet-FORMATER-CHAMPS-TDBGRID_316176.aspx pas mieux
|
|
vendredi 3 juillet 2009 à 21:58:26 |
Re : DisplayFormat DBGrid

eli42
|
Réponse acceptée !
Oups désolé pour la mise en page de daube que je viens de poster
|
|
vendredi 3 juillet 2009 à 23:51:37 |
Re : DisplayFormat DBGrid

beckerich
|
Réponse acceptée !
bonsoir,
il faut peut-être essayer le traitement dans l'évènement DBGrid1DrawColumnCell du dbgrid.
procedure TForm4.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if DataCol = 0 then begin end; end;
Luc.
|
|
vendredi 3 juillet 2009 à 23:54:58 |
Re : DisplayFormat DBGrid

beckerich
|
Réponse acceptée !
oups trop vite :
procedure TForm4.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if DataCol = 0 then begin DBGrid1.Canvas.Font.Name := 'Tunga';
end; DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end;
|
|
samedi 4 juillet 2009 à 01:16:30 |
Re : DisplayFormat DBGrid

eli42
|
J'ai fait un mix de Beckerich et de Loulibier : http://www.delphifr.com/forum/sujet-FORMATER-CHAMPS-TDBGRID_316176.aspx Procedure TFiche.DBGListeDrawColumnCell(Sender: TObject; Const Rect: TRect; DataCol: Integer; Column: TXColumn; State: TGridDrawState); Begin If DataCol = 0 Then Begin DBGListe.Canvas.TextRect(Rect, Rect.Left, Rect.Top, FormatFloat('####-##-#####', DM.T_BL.Fieldbyname('NFICHE').AsFloat)); End; If DataCol = 5 Then Begin DBGListe.Canvas.TextRect(Rect, Rect.Left, Rect.Top, FormatFloat('0.00', DM.T_BL.Fieldbyname('TOTAL').AsFloat)); End; End; Ca fonctionne par contre pour ma colonne 5 qui FLOAT j'ai un Alignement a gauche malgre : DBGLISTE.Columns[5].Alignment := taRightJustify; Voila ca avance doucement mais surement
|
|
samedi 4 juillet 2009 à 01:17:33 |
Re : DisplayFormat DBGrid

eli42
|
???? c'est quoi cete mise en page ????
|
|
samedi 4 juillet 2009 à 01:18:41 |
Re : DisplayFormat DBGrid

beckerich
|
Réponse acceptée !
tu dois gérer toi-même les alignements (SetTextAlign(DBGrid.Canvas.Handle, TA_RIGHT))
ou utiliser DrawText... Courage, tu es sur la bonne voie. Luc.
|
|
samedi 4 juillet 2009 à 01:20:45 |
Re : DisplayFormat DBGrid

eli42
|
Réponse acceptée !
J'ai fait un mix de Beckerich et de Loulibier : http://www.delphifr.com/forum/sujet-FORMATER-CHAMPS-TDBGRID_316176.aspx
Procedure TFiche.DBGListeDrawColumnCell(Sender: TObject; Const Rect: TRect;
DataCol: Integer; Column: TXColumn; State: TGridDrawState);
Begin
If DataCol = 0 Then
Begin
DBGListe.Canvas.TextRect(Rect, Rect.Left, Rect.Top,
FormatFloat('####-##-#####', DM.T_BL.Fieldbyname('NFICHE').AsFloat));
End;
If DataCol = 5 Then
Begin
DBGListe.Canvas.TextRect(Rect, Rect.Left, Rect.Top,
FormatFloat('0.00', DM.T_BL.Fieldbyname('TOTAL').AsFloat));
End;
End;
Ca fonctionne par contre pour ma colonne 5 qui FLOAT j'ai un Alignement a gauche malgre :
DBGLISTE.Columns[5].Alignment := taRightJustify;
Voila ca avance doucement mais surement
|
|
lundi 6 juillet 2009 à 14:00:29 |
Re : DisplayFormat DBGrid

eli42
|
Réponse acceptée !
Bon voila pour finir, j'ai exactement ce que je voulais :
Procedure TForm1.DBGListeDrawColumnCell(Sender: TObject; Const Rect: TRect;
DataCol: Integer; Column: TXColumn; State: TGridDrawState);
Var
LargEcrit: Integer;
Begin
Try
If DataCol = 0 Then
Begin
LargEcrit := DBGListe.Canvas.Textwidth(FormatFloat('####-##-#####',
Table.Fieldbyname('NFICHE').AsFloat));
DBGListe.Canvas.TextRect(Rect, Rect.Right - LargEcrit - 2, Rect.Top + 2,
FormatFloat('####-##-#####', Table.Fieldbyname('NFICHE').AsFloat));
End;
If DataCol = 5 Then
Begin
LargEcrit := DBGListe.Canvas.Textwidth(FormatFloat('0.00',
Table.Fieldbyname('TOTAL').AsFloat));
DBGListe.Canvas.TextRect(Rect, Rect.Right - LargEcrit - 2, Rect.Top + 2,
FormatFloat('0.00', Table.Fieldbyname('TOTAL').AsFloat));
End;
Except
exit;
End;
End;
Bonne Prog a tous, et merci a Beckerich et de Loulibier, ded m'avoir mis sur le bon chemin
|
|
Cette discussion est classée dans : champs, formater, dbgrid, displayformat, colunns
Répondre à ce message
Sujets en rapport avec ce message
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
champs persistants, dbgrid et table access [ par informatixo ]
J'ai une Table access intitulé "Fourniture" avec : id_fac (entier long) identificateur facture ind_lig (entier long) identificateur ligne num_lig (te
mettre la 1ère lettre en majuscule dans une DBGrid [ par lilo415 ]
Bonjour,J'aurais voulu savoir comment on pouvait mettre la 1ère lettre en majuscule de tous les champs saisis dans un DBGrid.Est-ce posssible pour tou
un champs dbLookUpcombobox dans mon dbGrid [ par tleboukaka ]
<link rel="Fi
formater un chiffre dans un DbGrid [ par notrica ]
salutje cherche comment formater un chiffre dans un dbGrid càd afficher le séparateur de millier et le décimal. Y a t'il moyen de le faire ?Merci d'av
inclure une image dans champs d'un dbgrid [ par idaas ]
salut, es que vous pouvez me dire Comment inclure une image dans champs d'un dbgrid avec une bdd sqlserver, au un autre composant dbgrid qui permet la
concaténation de DBGrid provenant de bases différentes mais ayant les memes champs [ par hajerhajer ]
bonjour les Delphistes, j'ai une question: j'ai des DBGrid ayant les meme champs. je veux concaténer leurs contenus dans un seul DBGrid résultat sacha
dbgrid [ par houeg ]
bonjour,quelqu'un peut il m'expliquer comment faire pour récupérer l'enregistrement en cours de sélection (par un utilisateur) dans un DBGrid ?je ne v
dbgrid [ par houeg ]
bonjour,quelqu'un peut il m'expliquer comment faire pour récupérer l'enregistrement en cours de sélection (par un utilisateur) dans un DBGrid ?je ne v
DBGrid Récupéré le contenu d'un champs [ par airhik7 ]
J'utilise Delphi 7 J'aimerai savoir comment récupéré la donné contenu dans une cellule de DBGrid par programmation!!!!!C'est pour faire un test sur la
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|