IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants FMX Delphi Discussion :

StringGrid et Headers


Sujet :

Composants FMX Delphi

  1. #1
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut StringGrid et Headers
    Bonjour à tous,
    Je découvre depuis qq temps la FMX TStringGrid ().
    Je cherche à personnaliser les entêtes des colonnes, bon celles ci sont des TColumn dont le texte de l'entête est une string propriété du TColumn : TColumn.Header
    Par contre si on veut accéder aux propriétés des entêtes ( font, color...) elles sont accessibles via un THeader associé à la Grid via :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Header:= THeader((Sender as TStringGrid).FindStyleResource('header'));
    Tout ça semble bien alambiqué mais, néanmoins, on arrive à faire cette personnalisation.
    Par contre j'ai un peu de mal pour personnaliser certaines colonnes, par exemple pour passer en gras une colonne sur laquelle on fait un tri.
    En effet le THeader contient des items (THeaderItem) à priori dans l'ordre identique à celui des colonnes visibles.
    Bon pour l'instant je bricole en recréant le "lien" entre les THeaderItem et lesTColumn par code.

    Ma question est : y a t'il un moyen simple et élégant, pour avoir pour chaque THeaderItem le TColumn associé ? Ou l'inverse bien sûr.

  2. #2
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    Bonjour


    Si tu veux modifier les propriétés de l'entête des cellules de grilles dans un projet FireMonkey, en passant par les styles, le plus simple est de faire un clic droit sur la grille depuis le concepteur de fiches et de choisir soit "modifier le style par défaut (qui sera appliqué à toutes les grilles) soit "modifier le style personnalisé" (qui créera un nouveau nom de style et pourra être appliqué en StyleLookup à ta grille).

    Les infos concernant le header sont dans "gridstyle / background / header".

    Si tu veux changer le background du header tu peux créer un style "headeritemstyle" mais il sera appliqué à toutes les fiches utilisant le TStyleBook dans lequel tu le fais.

    "headeritemstyle" : TLayout sans HitTest
    ==> "background" : TRectangle (ou autre) sans HitTest, aligné en Contents
    ==> "text" : TText sans HitTest, aligné en Client

    Sinon il reste toujours la possibilité de tout faire par code en utilisant l'événement onDrawColumnHeader de la grille et en dessinant sur son Canvas.

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 045
    Points : 40 963
    Points
    40 963
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    cela rejoint un peu la discussion équivalent de l'ancien tlistview/ du moins en ce qui concerne les styles ou le "travail" que j'ai pu faire dans le tutoriel sur LiveBindings et Grille chapitre VII-B-2..
    HTML-Dev s'y est régulièrement cassé les dents en vouant Livebindings et Style aux gémonies, mélangeant le tout pour écrire que c'est de la faute à FMX
    J'avais oublié ce "Todo à la retraite" de ma liste
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

Discussions similaires

  1. StringGrid sort
    Par clovis dans le forum C++Builder
    Réponses: 4
    Dernier message: 20/10/2004, 21h46
  2. mise en page (Header and Footer) en XML-XSL.
    Par christine dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 01/03/2004, 16h31
  3. StringGrid, multiligne et word wrap
    Par Dajon dans le forum C++Builder
    Réponses: 7
    Dernier message: 17/09/2003, 17h15
  4. Multi lignes dans un StringGrids ?
    Par Xavier dans le forum C++Builder
    Réponses: 3
    Dernier message: 27/11/2002, 23h15
  5. StringGrid et colonnes
    Par Delph dans le forum Composants VCL
    Réponses: 2
    Dernier message: 02/08/2002, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo