La fonction Contains d'un listView renvoi "false" alors qu'un objet identique es
nicokain
Messages postés12Date d'inscriptionsamedi 19 avril 2003StatutMembreDernière intervention15 janvier 2009
-
8 oct. 2008 à 15:54
nicokain
Messages postés12Date d'inscriptionsamedi 19 avril 2003StatutMembreDernière intervention15 janvier 2009
-
9 oct. 2008 à 14:39
Bonjour,
J'aiun petit soucis avec l'utilisation de la fonction Contains avec un listview. Voici le contexte:
- J'ai 2 listview, l'une contient les valeurs disponibles et l'autre les valeurs ajoutées
- Lorsque je double click sur celle contenant les données disponible, je dois ajouter les infos sélectionnées dans la seconde list view. Par contre je voudrais vérifier avant d'ajouter que la listview de destination ne contient pas déjà les même infos pour ne pas avoir de doublon. pour ceci voici mon code :
int local_nb_items_selected = listViewUserDispo.SelectedItems.Count;
for (
int local_index =
0; local_index < local_nb_items_selected; local_index++)
{
//Je clone l'item sélectionné dans la liste (1 item ne peut pas être utilisé dans 2 "endroits" en même temps)
//je regarde si l'item n'existe pas déjà
if (listViewUserConcerned.Items.Contains(local_item) ==
false)
listViewUserConcerned.Items.Add(local_item);
}
}
Le problème est que j'ai toujours un FALSE en retour du Contains alors que j'ajoute toujours le même objet dans ma première liste. je sais que je pourrais passer en revu tous les items de ma liste en mode texte mais bon je trouvais ça plus cool et surtout moins fastidieu d'utilise un ListViewItem et de le rechercher.
Merci d'avance pour les informations que vous pourrez me fournir.
Nico
A voir également:
La fonction Contains d'un listView renvoi "false" alors qu'un objet identique es
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 8 oct. 2008 à 19:35
Salut,
Ta méthode Clone() te retourne une instance différente du ListViewItem cloné, ta ListView ne contient donc pas cette instance. L'appel de la méthode Contains te retourne alors false.
Mx
MVP C#
nicokain
Messages postés12Date d'inscriptionsamedi 19 avril 2003StatutMembreDernière intervention15 janvier 2009 9 oct. 2008 à 14:39
Salut à vous,
Je me disais bien que le Clone() me cachait une petite surprise... Merci de vos réponses. J'avais en parallêle monté une fonction de recherche avec le texte.
Ha la la ces pointeurs . je les aime bien^à la pétanque moi les pointeurs