2010-12-09 4 views
3

J'ai deux listboxes databound. La première affiche uniquement les éléments qui ont été affectés à mon produit. La deuxième zone de liste affiche tous les éléments disponibles. Ce que je veux faire est de sélectionner tous les éléments de la zone de liste 2 que contient la zone de liste.sélectionnez plusieurs éléments dans la zone de liste asp.net à partir du code

Par exemple:
ListBox1-
Point 1
Point 3

ListBox2-
Point 1 (sélectionné)
Point 2
Point 3 (sélectionné)

code Je :

List<string> myList = new List<string>(); 
      foreach(ListItem f in ListBoxSourceDetail.Items) 
      { 
       myList.Add(f.Value); 
      } 
      myList.ForEach(delegate(string n) 
      { 
       ListBoxSourceEdit.SelectedValue = n; 
      }); 

Répondre

4

Je l'ai compris, j'étais trop penser ... Boucle à travers chaque élément de la liste dans la première case, puis trouve chaque résultat correspondant dans la deuxième table à sélectionner.

foreach(ListItem i in ListBoxSourceDetail.Items) 
     { 
      ListBoxSourceEdit.Items.FindByText(i.ToString()).Selected = true; 

     } 
+0

Vous devriez probablement trouver par valeur, pas de texte. Généralement, la valeur est unique lorsque ce n'est pas nécessairement le cas avec le texte. –

+0

@Adam Spicer, je suis d'accord, mais dans ce cas c'est ok parce que les éléments proviennent d'une table qui ne permettra pas les valeurs en double. –

Questions connexes