Question

J'utilise un TreeListView (un sous type de ObjectListView ) dans mon Projet en cours. Chaque élément de la liste est donnée une icône, mais l'icône varie en fonction de l'état de l'élément. Par exemple, si l'élément est en lecture seule que je veux utiliser une icône avec un petit symbole de verrouillage.

Lorsque les éléments sont d'abord ajoutés au TreeListView les icônes sont correctement montrent, encore plus tard, lorsque l'état d'un élément change les icônes ne sont pas mises à jour. Comment puis-je forcer le contrôle de régénérer toutes les icônes?

Était-ce utile?

La solution

Depuis l'icône est obtenu lorsque le ImageGetter pour la première colonne est appelée, et puisque ce n'est appelée généralement lorsque les lignes régénèrent, il semble que vous pouvez simplement appeler BuildList et forcer toutes les lignes à reconstruire. Cela peut être coûteux, mais, selon la complexité et le nombre de lignes.

Une meilleure solution, si possible, serait d'appeler RefreshItem ou RefreshObject dès que vous connaissez les données ont changé. Cela vous oblige à connaître soit la OLVListItem spécifique (lignes) qui ont besoin de leurs icônes mises à jour, ou les objets modèle sous-jacent qui a changé (et serait donc, l'icone différent ont été ses lignes associées reconstruites).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top