Multi Zone De Liste À Sélection
J'ai une zone de liste dans un formulaire et il fonctionne très bien pour ce que je veux faire.
Je suis désireux de modifier des éléments sur la forme, cela signifie que le remplissage de la zone de liste, puis en sélectionnant les éléments pertinents.
Ma zone de liste contient une liste des tailles d'éléments, je veux choisir la taille qui appartiennent à l'élément en cours de modification.
Svp quelqu'un peut me donner quelques conseils.
J'ai essayé me.lstItemSizes.SetSelected(i,true)
mais cela ne fonctionne que pour un seul élément.
Toute aide sera appréciée.
Mon Code:
Private Sub SelectItemSizes(ByVal itemID As Integer)
Dim itemSizes As IList(Of ItemSize) = _sizeLogic.GetItemSizes(itemID)
Me.lstItemSizes.SelectionMode = SelectionMode.MultiExtended
If (itemSizes.Count > 0) Then
For i As Integer = 0 To Me.lstItemSizes.Items.Count - 1
For x As Integer = 0 To itemSizes.Count - 1
If (CType(Me.lstItemSizes.Items(i), PosSize).SizeID = itemSizes(x).SizeID) Then
Me.lstItemSizes.SetSelected(i, True)
Else
Me.lstItemSizes.SetSelected(i, False)
End If
Next
Next
End If
End Sub
Sa ce bout de code c'est la cause du problème: 'd'Autre de Moi.lstItemSizes.SetSelected(i, False)'
pas de son la façon dont vous êtes en boucle, vous devriez boucle basée sur le nombre de votre taille de l'élément en premier, puis le total de vos articles dans votre zone de liste. Voir mon 3ème modifier dans mon exemple
Je vous remercie pour votre aide Jon
pas de son la façon dont vous êtes en boucle, vous devriez boucle basée sur le nombre de votre taille de l'élément en premier, puis le total de vos articles dans votre zone de liste. Voir mon 3ème modifier dans mon exemple
Je vous remercie pour votre aide Jon
OriginalL'auteur Richard.Gale | 2011-03-30
Vous devez vous connecter pour publier un commentaire.
Avez-vous mis le selectionmode multi?
Vous avez besoin de spécifier que, pour autoriser les sélections multiples.
Alors vous pouvez faire:
Voici une capture d'écran:
Après vous définissez la propriété sur la zone de liste puis appeler setselected sur la base des valeurs que vous souhaitez utiliser.
Ici, vous pouvez ajouter 20 numéros et de sélectionner uniquement les même.
3ème édition
Oeil à la façon dont vous êtes en boucle, permet de supposer que je créer une liste d'entiers, mon vb.net est rouillé j'ai surtout développer en C#. Mais supposons que vous avez fait ceci:
Vous ne disposez que de trois articles dans votre liste, de sorte que la première boucle sur la base des éléments sur votre liste, puis dans les éléments de la listbox, vous l'avez vice versa. Regardez ceci:
Dans le code de mon l est une liste de 3 éléments: 2, 6 et 20.
J'ai ajouter ces éléments à l qui est juste un objet de la liste.
Alors maintenant, j'ai de boucle à l'aide de ces 3 numéros et de les comparer avec ma listbox. Vous avez tout le contraire, vous êtes en boucle sur votre zone de liste, puis en tenant compte de l'objet de la liste.
Avis dans ma boucle une fois l'article dans ma liste je n'ai plus besoin de boucle, donc je
exit for
. Ceci assure je n'ai pas de retard le montant de boucle nécessaire. Une fois que l'élément est trouvé sortir et de revenir en arrière pour le compte de votre liste de nombre d'objets.Après l'exécution de mon code ici est le résultat
à droite, vous pouvez le faire, mais d'abord dans les propriétés de la zone de liste, vous devez vous assurer que
SelectionMode
est définie à multisimple par exemple.regardez l'exemple dans mon montage.
J'ai collé mon code avec la question. SelectionMode est fixé à MultiExtended
Le code que j'ai collé ne sélectionne le dernier élément
OriginalL'auteur JonH
Vous devez changer le
zone de liste.SelectionMode
propriété afin de permettre à sélection multiple.Les valeurs possibles sont donnés par le
SelectionMode
enum, comme suit:Donc, il vous suffit d'ajouter la ligne suivante dans le code que vous avez déjà:
Alternativement, vous pouvez définir la
SelectionMode
de la propriété au moment de la conception, au lieu de le faire avec du code.OriginalL'auteur Cody Gray
Selon MSDN,
SetSelected()
peut être utilisé pour sélectionner plusieurs éléments. Il suffit de répéter l'appel pour chaque élément doit être sélectionné. C'est l'exemple qu'ils utilisent:De référence, c'est l'article MSDN.
OriginalL'auteur Ender
Parce que mon code a la suite de boucles:
La première boucle boucles à travers les tailles disponibles et la deuxième boucle est utilisée pour comparer les tailles des éléments.
Ayant le code suivant:
Signifie que même si l'article que je suis devenu sélectionné, il pourrait également être désactivée.
SOLUTION:
Supprimer
Me.lstItemSizes.SetSelected(i, False)
OU InclureExit For
OriginalL'auteur Richard.Gale