Ceci est un problème étrange, je n'ai pas ajouté beaucoup de code car je ne sais pas comment commencer. J'ai un contrôle listview en mode virtuel, si je filtre la listview pour me montrer toutes les personnes appelées John, je vois alors 3 utilisateurs appelés John, puis j'annule le filtre en réglant toutes les valeurs sur null et retourne toutes les données à la listview, je maintenant avoir plusieurs centaines d'éléments dans la liste mais je ne peux voir 30 à l'écran que si je fais défiler la liste. J'utilise ensuite le code ci-dessous pour cocher une case dans chaque rangée, tous sont vérifiés en dehors des 3 Johns mais si je peux voir 1 des 3 Johns dans la liste sans faire défiler puis exécuter le code ci-dessous le John visible est vérifié.ListView impossible de cocher une case
for (int i = 0; i < this._items.Count; i++)
{
this._items[i].Checked = true;
}
J'ai vérifié l'état de la case juste avant qu'il ne soit vérifié dans le code ci-dessus et si John est visible alors la case à cocher estime qu'il est sans contrôle (faux), si elle n'est pas visible, il belives, il est vérifié (vrai). Donc, avoir un John visible à l'écran, la case n'est pas cochée et un test prouve qu'il n'est pas coché, pour les deux Johns je ne peux pas voir qu'ils croient qu'ils sont vérifiés mais si je descends pour les voir, ils ne le sont pas.
Des idées?
A quelles occasions avez-vous peuplez la collection this._items? –