Robinson60
Messages postés6Date d'inscriptionmardi 21 septembre 2004StatutMembreDernière intervention28 juin 2005
-
9 juin 2005 à 16:32
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
10 juin 2005 à 14:05
La question est dans le sujet,
Quand on créé un élement dans une collection, la méthode Add permet de fixer la propriété Key, mais comment peut-on retrouver cette propriété par la suite (dans une fonction de la classe par exemple) ?
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 9 juin 2005 à 18:28
Salut
Ca, c'est une vraie colle : je n'ai pas trouvé comment faire ... peut-être avec les API
Sinon, pour les recheches :
Recherche à partir de la clé (qui doit être une chaine) : maCollection.Item("KeyAmoi")
Recherche à partir de l'index (qui doit être numérique) : maCollection.Item(3)
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
Robinson60
Messages postés6Date d'inscriptionmardi 21 septembre 2004StatutMembreDernière intervention28 juin 2005 10 juin 2005 à 09:17
Ok, je donne plus d'informations, en fait c'est un Treeview que j'utilise et que j'aimerai utiliser simplement, à chaque élément correspond une clé qui défini son type (exemple : UT.1, UT.2, UT.3 pour des utilisateurs par exemple, SI.1, SI.2,SI.3 pour des sites) ces informations qui sont représentées dans un treeview correspondent à des classes.
Quand on clique sur un élément du treeview je voudrai retrouver la clé (UT.1) qui me permettra de retrouver l'élément dans la classe.
De plus je fais des Ajout, Insertion, Suppression d'éléments, donc je ne peux utiliser l'élément count car quand je créé un élément je lui fourni la clé et celle-ci doit être unique, je m'explique :
on a :
UT.1
UT.2
UT.3
Quand je les créé, j'ajoute mcol.count à UT
Si je supprime UT.1, il me reste :
UT.2
UT.3
Si je créé un nouvel élément, mcol.count me renvoie 2, et j'essaie donc de créer UT.2 qui est refusé par le code
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 10 juin 2005 à 14:05
Re
Ah, pour les TreeView c'est différent, on peut lire les Key
TV.Nodes.Item(r).Key
TV.Nodes.Item(r).Parent.Key
Donc, pour choisir un nouvel index lié à une Key, il te suffit de faire une boucle qui recherche quel est le numéro maxi présent dans cette catégorie, du style :
Numero = 1
With TV
For r = 1 To .Nodes.Count
Temp = .Nodes.Item(r).Key
Categorie = Split(Temp, ".")(0) ' Récupère UT
Valeur = Split(Temp, ".")(1) ' Récupère l'index
If Categorie = "CelleQueJeCherche" Then
If Valeur > Numero Then Numero = Valeur + 1
End If
End With
Ca ne bouchera pas les trous, mais ça choisira un index à la suite des autres
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)