Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Récupérer la taille du titre d'un DBGrid [ Archives / J'AI BESOIN D'AIDE !!!! :O ] (oluha)

vendredi 14 janvier 2005 à 14:06:07 | Récupérer la taille du titre d'un DBGrid

oluha

Bonjour

J'ai fais une fonction qui permet de redimentionner automatiquement la largeur des colonnes d'une DBGrid en fonction de son contenu.
J'aimerai aussi pouvoir tenir en compte la taille du titre de la colonne mais je ne sais pas comment récupérer la valeur du titre.

Voici mon code :

procedure ResizeColumns();
var
J,MaxTextWidth, fieldwith : Integer;
begin
   Form1.GridFic.datasource.DataSet.DisableControls;
   // On fait toutes les colonnes du TDBGrid
   For J:=0 to Form1.GridFic.FieldCount-1 do
   begin
      // Initialisation (largeur du titre)
      MaxTextWidth := comment récupérer la largeur du titre de la colonne sur laquelle on pointe ?
      // On recupere la longueur la plus grande contenu dans la colonne
      Form1.GridFic.DataSource.DataSet.First;
      while not form1.GridFic.DataSource.DataSet.Eof do
      begin
          fieldwith := Form1.GridFic.Canvas.TextWidth(form1.GridFic.datasource.DataSet.Fields.Fields[J].AsString);
          if (fieldwith > MaxTextWidth) then MaxTextWidth := fieldwith;
          Form1.GridFic.DataSource.DataSet.Next;
      end;
      // On applique la nouvelle taille a condition que la colonne n'était pas vide
      If MaxTextWidth > 0 then form1.GridFic.Columns[J].Width := MaxTextWidth + 20;
   end;
   Form1.GridFic.datasource.DataSet.EnableControls;
end;

vendredi 14 janvier 2005 à 14:18:11 | Re : Récupérer la taille du titre d'un DBGrid

oluha

Ah ben je crois que je viens de trouver :

Form1.GridFic.Canvas.TextWidth(form1.GridFic.Columns[J].Title.Caption)

vendredi 14 janvier 2005 à 14:57:17 | Re : Récupérer la taille du titre d'un DBGrid

jmp77

Membre Club
Réponse acceptée !
Hello,

Effectivement tu as trouvé ta réponse seul.

Par contre c'était un sujet d'actualité il y a quelques semaines de cela sur le site. Nous avions commencer par la meme méthode que toi. Le problème étant que ta solution est viable uniquement dans le cas d'une petite base. Des que tu veux faire cette operation sur une base d'une centaine de champ et des milliers d'enregistrement le redimensionnement est trop long.
On avait alors penser recuperer la taille max du champ. Pour cela regarde cette source que Mauricio a deposer sur le sujet : http://www.delphifr.com/code.aspx?ID=28338.
Par contre cela ne fonctionne que pour les bases dbase pour les bases paradox nous ne savons pas comment recuperer la taille des champs flottant ou integer.
Si tu as une idée sur cette question n'hesite pas nous sommes preneur.

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.

vendredi 14 janvier 2005 à 16:45:33 | Re : Récupérer la taille du titre d'un DBGrid

oluha

Ben ma fonction ne me pose pas problème dans mon cas puisque je n'affiche pas l'intégralité de ma table mais uniquement les 200 premiers enregistrements dans mon DBGrid.

Par contre je ne pense pas pouvoir vous aider avec paradox, je ne connais pas du tout ce type de base de données, j'utilise sql server et access.

Bon courage



Cette discussion est classé dans : titre, form1, datasource, gridfic, maxtextwidth


Répondre à ce message

Sujets en rapport avec ce message

Titre des messagedlg [ par Jos ] Est-il possible de définir le titre des messagedlg?Merci Petit problème avec showmodal [ par Youyou0214 ] Salut tout le monde,j'ai un problème avec showmodal, quand je suis dans une form je veux passer à une autre et faire disparaître celle dans laquelle j re clé étrengère [ par csandrine ] j'ai 2 tables tbinterprete(numinterprete(autoincremente), nom)tbcd(numcd(autoincremente), numinterprete, titre)voici mon code pour inserer des enregis Internet explorer [ par RoProg ] Il y a quelqu'un qui sais comment suprimer "Microsoft Intenet Explorer" de la barre de titre de l'intenet explorer ? pour garder juste le titre de la Appel d'une Form [ par apz ] salut, pour appeler une form, certains utilisent la méthode suivante : ------------------------------------------------------------Form1.Show--------- Trier en cliquant sur le titre de la colonne on Grid [ par MasterJ ] Bonjour Programmeur(se) de Delphi,Je voudrais savoir s'il est possible de trier un TDBGrid seulement en cliquant sur le title de la column. Aussi, es THREADS ERREUR [ par w38 ] Bonjour,Étant donné que j'ai une application qui met un temps fou, j'ai décidéd'utiliser des threads.Toutefois, le bouquin que j'ai stipule une formul Form dans une autre form :/ [ par Don0Choa ] Slt,Voila mon problème va pas etre facil à éxpliquer...J'ai une form (Form1) et dans cette Form la jen ai 3 aures(Form2, 3et 4), ce que je voudrais , Fenêtre avec ou sans barre de titre ? Dilemme ! [ par jack554 ] Hello les Delphistes ! Je désire créer une toute petite fenêtre affichant des informations, avec la possibilité de la déplacer avec la souris (drag-dr DRAG AND DROP [ par minipod ] Très clairement: j'ai deux Form: Form1 et Form2 j'ai 2 RichEdit: RichViewEdit1 et RichViewEdit2 (composants trouvés sur trichview.com)sur Form1 j'ai R


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.