tri d'un objet dans une listview => mélange d'indices
Bonjour,
je suis confronté à un problème de tri sur une listview à cases à cocher.
Le contexte :
J'appelle un Webservice qui me renvoie une liste d'Enseignes (j'ai crée une classe Enseigne avec l'id, le nom, et le webservice) que je stock dans une ArrayList()
Je parcours cette ArrayList et je l'affiche dans une Listview. Lorsqu'on coche une enseigne, cela ramène la liste des établissements liés à cet enseigne.
Le problème est que lorsque je tri, si je choisis une Enseigne X1, ça me ramène les établissements Y1.
Comment faire pour maintenir les indices ?
Voici le code de ma partie métier :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| 'On récupère la liste des enseignes auxquelles a accès l'utilisateur
listeEnseignes = service.obtenirListeDesEnseignes(user)
If listeEnseignes IsNot Nothing Then
'debug.Print ("erreur code : " & listeEnseignes.erreurCode & " - Traitement Ok : " & listeEnseignes.traitementOk)
If listeEnseignes.traitementOk Then
If listeEnseignes.enseignes IsNot Nothing Then
'pour la liste des enseignes
For i = 0 To listeEnseignes.enseignes.Length - 1
'Création d'un objet Enseigne
Dim UneEnseigne = New Enseigne
UneEnseigne.id = listeEnseignes.enseignes(i).idEnseigne
UneEnseigne.nom = listeEnseignes.enseignes(i).nomEnseigne
UneEnseigne.wsenseigne = listeEnseignes.enseignes(i)
'Qu'on ajoute à notre liste
myAL.Add(UneEnseigne)
Next
End If
End If
End If |
et voici le code de ma partie affichage :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| 'On ramène la liste des enseignes dans une array list composée d'objets Enseignes (id, nom, wsenseigne)
listeDesEnseignes = obtenirEnseigne (login,mdp)
If listeDesEnseignes IsNot Nothing Then
'Pour chaque enseigne typé en Enseigne
For each enseigne as Enseigne in listeDesEnseignes
' debug.print (i & " - " & listeDesEnseignes.Item(i).ToString & " --> " & enseigne.id & " " & enseigne.nom)
'Affichage ds la listeview
Me.listView1.Items.Add(enseigne.nom)
Next
End If |
pour le tri, j'ai suivi l'aide la MSDN : http://msdn.microsoft.com/fr-fr/libr...43(VS.80).aspx
Merci