Accéder à la propriété Key d'une collection

Robinson60 Messages postés 6 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 28 juin 2005 - 9 juin 2005 à 16:32
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 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) ?

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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)
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
9 juin 2005 à 18:49
Salut,

Ta question me rappelle une ListView, c'est le cas ?
Sinon, précise quelle est ta collection.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
Robinson60 Messages postés 6 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 28 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

Voilà, j'espère que c'est plus clair

Robinson
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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)
0
Rejoignez-nous