-
StringGrid et Headers
Bonjour à tous,
Je découvre depuis qq temps la FMX TStringGrid (:traine:).
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:
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.
-
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.
-
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 :ptdr:;)
J'avais oublié ce "Todo à la retraite" de ma liste