Affichage 1ère ligne TListView

Résolu
gebu34 Messages postés 118 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 17 novembre 2009 - 30 mai 2007 à 07:13
gebu34 Messages postés 118 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 17 novembre 2009 - 31 mai 2007 à 06:37
Salut à tous,
Je pose un TListView sur une Form, dans Columns lui indique 2 colonnes "Nom" et "Prénom", je fixe les largeurs, paramètre le TLisView ViewStyle en vsReport, affichage des titres.....
Ensuite je charge mon TListView avec une base (ADO).....A l'affichage, mon TListView est remplis correctement, mais je ne vois pas les titres de colonnes. Pour les voir, je dois cliquer dessus.
Autre remarque, actuellement le TListView est dimensionné (verticalement) pour que les données entrent entièrement. Si je diminue la hauteur du TListView, alors apparition du Scroll vertical mais aussi apparition des titres. Bizare non ?
Merci
A+

3 réponses

gebu34 Messages postés 118 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 17 novembre 2009
31 mai 2007 à 06:37
Salut à tous,
J'ai enfin trouvé.....
Pour répondre à Francky23012301, ce compo est zarbi.....
Je ne comprenait pas pourquoi ce compo fonctionnait sur tout les exemples que je visionnais : tout simplement parceque tous avaient des RadioButton pour changer lr ViewStyle. Lorsque l'on veut l'utiliser qu'en grille (vsReport), il faut construire sa grile, ses colonnes, ses titres et SURTOUT mettre ShowColumnHeaders à False.
Ensuite dans votre FormActivate il suffit de lui inscrire :
ListView1.ShowColumnHeaders := True;
Et Ô miracle divin celà fonctionne....
Allez A+ et merci
3
Utilisateur anonyme
30 mai 2007 à 13:44
salut,

Je viens juste de tester le TListView pour essayer de te répondre : ce composant a de mon coté aussi une réponse bien surprenante mais pas au sens positif.

Pourquoi ne pas utiliser des TTreeViews ou des TStringGrid ? Ca me semble moins chaotiques et moins problématiques.

Sinon une alternative consiste dans ta procedure a rajouter
ListView1.Refresh; ou (mais c'est moins bien ) ListView1.OnClick(Sender);
0
gebu34 Messages postés 118 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 17 novembre 2009
30 mai 2007 à 14:52
Salut,
J'utilise le TListView pour avoir une grille ou j'incorpore partiellement une base de donnée et pouvoir sélectionner une ligne pour modifier l'enregistrement via masque de saisie.
Le TTreeViews, à ce que je crois ne fais pas de grille.
Le TStringGrid, j'ai b'eaucoup oeuvré dessus (j'ai même mis une source sur CS), il est très souple, mais a le désavantage de toujours passer par OnDrawCell chaque fois que l'on sort des ornières, et ça l'alourdit (d'ailleurs il est très difficile de déselecter une ligne).
Le refresh je l'ai essayé ainsi que RePaint, Invalidate.
Peut-on provoquer un click sur les colonnes de la ligne de titres.
Ou alors on ne mets pas de titre (mais c'est très brimant...)
A+
0