Un problème de ListView avec application de style enfin résolu
par
, 13/10/2018 à 12h37 (2284 Affichages)
Lors de la rédaction de mon tutoriel sur l'utilisation des LiveBindings https://serge-girard.developpez.com/...aisonDatabase/ je m'étais heurté à un drôle de phénomène : une disparition inexpliquée de lignes (elles étaient plus illisibles que disparues) en changeant de style au runtime.
Tout les styles ne provoque pas ce phénomène mais il est particulièrement flagrant avec le style Transparent
Pas de Style
Changement du style
Retour
![]()
Désagréable et du coup pénalisant !
J'en ai même signaler ce bug (?) à Embarcadero
Toutefois, je viens de trouver une parade simple et efficace : désactiver la liste, changer le style puis réactiver la liste.
Simple, mais, bien qu'y pensant depuis longtemps je ne trouvais pas la bonne manière pour désactiver cette liste.
C'est dans les LiveBindings que se trouve la réponse : il faut désactiver le lien entre la liste et les données puis le réactiver
Ci-dessous le code de l'évènement OnClick du bouton
Code delphi : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 procedure TForm21.BasculeStyleClick(Sender: TObject); begin if FDOrders.Active then LinkListControlToField1.Active:=False; if Assigned(StyleBook) then StyleBook:=nil else StyleBook:=StyleBook1; if FDOrders.Active then LinkListControlToField1.Active:=True; end;