OVH Cloud OVH Cloud

La listview perd ses couleurs

6 réponses
Avatar
Guillaume JAY
J'ai une listview, en details, que je remplie et colorie (certaines
cases)
J'ai aussi implémenté une interface de tri.

Des que je tri par colonne, les couleurs s'en vont !

Je suis sur que c'est pas normal, mais je comprend pas comment les
conserver.

Guillaume

6 réponses

Avatar
Zoury
Salut Guillaume ! :O)

Peux-tu nous montrer ton code ?

--
Cordialement
Yanick
MVP pour Visual Basic
Avatar
Guillaume JAY
On Mon, 11 Jul 2005 13:04:09 +0200, Guillaume JAY
wrote:

J'ai une listview, en details, que je remplie et colorie (certaines
cases)
J'ai aussi implémenté une interface de tri.
Des que je tri par colonne, les couleurs s'en vont !



Incidemment, les couleurs s'en vont aussi quand je remets a jour
certains listitem. (même si j'enleve l'implémentation du tri)

Mais quand je selectionne chaque ligne de ma listview, les couleurs
reviennent.... C'est donc que je les ai bien programmées.

Guillaume
Avatar
Olivier C.
Essaie de forcer le contrôle à se redessiner

myListView.Refresh

On ne sait jamais!...

Guillaume JAY a écrit :
On Mon, 11 Jul 2005 13:04:09 +0200, Guillaume JAY
wrote:


J'ai une listview, en details, que je remplie et colorie (certaines
cases)
J'ai aussi implémenté une interface de tri.
Des que je tri par colonne, les couleurs s'en vont !




Incidemment, les couleurs s'en vont aussi quand je remets a jour
certains listitem. (même si j'enleve l'implémentation du tri)

Mais quand je selectionne chaque ligne de ma listview, les couleurs
reviennent.... C'est donc que je les ai bien programmées.

Guillaume


Avatar
Zoury
ReBonjour ! :O)

J'obtiens un résultat semblable si je met HideSelection à False...
Ça m'a l'air d'un bug et/ou du comportement "normal", idiot certes, mais
tout de même"normal" du contrôle.

Tu pourrais probablement règler le problème en dessinant les items toi même
à l'aide d'un listview "owner-drawn", ce n'est toutefois pas une tâche
facile spécialement si tu n'es pas famillier avec les APIs...

Il y a un exemple C# ici, au cas où ça t'intéresse.
http://www.codeproject.com/cs/miscctrl/BpCsSharpListView.asp

Tu peux aussi chercher sur le web pour un contrôle implémentant déjà tout
cela... comme celui montré dans l'exemple par exemple. :O)

--
Cordialement
Yanick
MVP pour Visual Basic
"Guillaume JAY" a écrit dans le message de
news:
On Mon, 11 Jul 2005 13:04:09 +0200, Guillaume JAY
wrote:

>J'ai une listview, en details, que je remplie et colorie (certaines
>cases)
>J'ai aussi implémenté une interface de tri.
>Des que je tri par colonne, les couleurs s'en vont !

Incidemment, les couleurs s'en vont aussi quand je remets a jour
certains listitem. (même si j'enleve l'implémentation du tri)

Mais quand je selectionne chaque ligne de ma listview, les couleurs
reviennent.... C'est donc que je les ai bien programmées.

Guillaume


Avatar
Guillaume JAY
On Tue, 12 Jul 2005 09:03:58 -0400, "Zoury" <yanick_lefebvre at
hotmail dot com> wrote:
J'obtiens un résultat semblable si je met HideSelection à False...
Ça m'a l'air d'un bug et/ou du comportement "normal", idiot certes, mais
tout de même"normal" du contrôle.



J'ai essayé, ca n'a rien changé. Pareil avec Refresh, ou performlayout
sur la listview

Tu pourrais probablement règler le problème en dessinant les items toi même
à l'aide d'un listview "owner-drawn", ce n'est toutefois pas une tâche



Attend, je trouve quand même pas normal que quand sur une listview sur
laquelle j'ai changé la couleur d'un des subitems, quand je change un
autre subitem de la ligne (le texte), tout la mise en couleur
disparait, mais que si je selectionne la ligne en cliquant dessus,
elle revient.
Je veux pas me repalucher une listview pour corriger ca.

Guillaume
Avatar
Olivier C.
Je repose la question de Zoury : Peux-tu nous montrer ton code?

Guillaume JAY a écrit :
On Tue, 12 Jul 2005 09:03:58 -0400, "Zoury" <yanick_lefebvre at
hotmail dot com> wrote:

J'obtiens un résultat semblable si je met HideSelection à False...
Ça m'a l'air d'un bug et/ou du comportement "normal", idiot certes, mais
tout de même"normal" du contrôle.




J'ai essayé, ca n'a rien changé. Pareil avec Refresh, ou performlayout
sur la listview


Tu pourrais probablement règler le problème en dessinant les items toi même
à l'aide d'un listview "owner-drawn", ce n'est toutefois pas une tâche




Attend, je trouve quand même pas normal que quand sur une listview sur
laquelle j'ai changé la couleur d'un des subitems, quand je change un
autre subitem de la ligne (le texte), tout la mise en couleur
disparait, mais que si je selectionne la ligne en cliquant dessus,
elle revient.
Je veux pas me repalucher une listview pour corriger ca.

Guillaume