---
title: "ListBox kopierat till ListBox2"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/142323-listbox-kopierat-till-listbox2"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "gerten"
published: "2006-02-11T19:38:19.000Z"
updated: "2006-02-15T17:45:18.000Z"
replies: 9
views: 668
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/142323-listbox-kopierat-till-listbox2"
---

# ListBox kopierat till ListBox2

## #1 — gerten, 2006-02-11T19:38Z

Hej har en websida som jag kör i C# VS 2005 JAg har två st ListBox och väljer ut olika namn ur den ena ListBox "SpelareVal" med multipel markering och klickar på en knapp så skall valda namn kopieras över till den andra ListBox"SpelareValda"
Med SpelareValda.Items.Add(new ListItem(SpelarVal.SelectedItem.ToString()));

Men jag får bara det första namnet inte dom andra, om jag sedan markerar andra namn och klickar på knappen så kopieras även där det första namnet.

Hur skriver man för att alla makerade namn skall kopieras över?

Permalänk: https://www.webforum.nu/p/142323

## #2 — erka, 2006-02-11T20:56Z

du får loopa igenom listboxens items, kolla om de är selected, isåfall kopiera över dem

Permalänk: https://www.webforum.nu/p/1763504

## #3 — gerten, 2006-02-12T14:50Z

Kan någon hjälpa mig med att göra en fungerande loop för det. Får inte det att fungera.
Har provat med:
if (SpelarVal.SelectedItem.Selected);
        
        {
            SpelareValda.Items.Add(new ListItem(SpelarVal.SelectedItem.ToString()));
         }

Men får samma resultat

Permalänk: https://www.webforum.nu/p/1763659

## #4 — emission, 2006-02-12T23:29Z

Läs vad erka skrev, med betoning på ordet "loopa".

Permalänk: https://www.webforum.nu/p/1763793

## #5 — erka, 2006-02-13T17:06Z

Du kan loopa med en foreach exempelvis

```
foreach (ListItem li in SpelarVal)
{
            if (li.Selected)
                SpelareValda.Items.Add(new ListItem(SpelarVal.SelectedItem.ToString()));

}
```

Permalänk: https://www.webforum.nu/p/1767767

## #6 — gerten, 2006-02-14T15:53Z

foreach statement cannot operate on variables of type 'System.Web.UI.WebControls.ListBox' because 'System.Web.UI.WebControls.ListBox' does not contain a public definition for 'GetEnumerator'

Sorry!

Permalänk: https://www.webforum.nu/p/1768069

## #7 — erka, 2006-02-14T16:29Z

```
   for (int i = 0; i < ListBox1.Items.Count; i++)
        {
            ListItem item = ListBox1.Items[i];
            if (item.Selected)
            {     
                item.Selected = false;
                ListBox2.Items.Add(item);              
            }

        }
```

Du får lägga till en koll så att man inte kan lägga in ett item 2 ggr i listbox2

Permalänk: https://www.webforum.nu/p/1768082

## #8 — gerten, 2006-02-14T21:40Z

Tack nu fungerar det. 
Att det ibland ska vara så svårt att få till det.

Hittar du en lösning på hur man sedan i ListBox2 kan flytta upp restp flytta ner en selectad rad?

Permalänk: https://www.webforum.nu/p/1768188

## #9 — erka, 2006-02-14T21:49Z

Ja det kan du göra genom javascript eller en postback, via postback kan du göra så här

```
System.Web.UI.WebControls.ListItem item = box.SelectedItem;
			if (item != null)
			{
				int index = box.Items.IndexOf(item);
				if (index != 0)			
				{
					box.Items.Insert(box.SelectedIndex+1,box.Items[box.SelectedIndex-1]);
					box.Items.RemoveAt(box.SelectedIndex-1);
				}
		}

eller

System.Web.UI.WebControls.ListItem item = box.SelectedItem;
			if (item != null)
			{
				int index = box.Items.IndexOf(item);
				

				if (index < box.Items.Count -1)			
				{
					box.Items.Insert(box.SelectedIndex,box.Items[box.SelectedIndex + 1]);
					box.Items.RemoveAt(box.SelectedIndex+1);
				}
			}
```

kopplat till två knappar då

Permalänk: https://www.webforum.nu/p/1768192

## #10 — gerten, 2006-02-15T17:45Z

Jo det fixade jag du är en klippa, men får ett error när jag försöker att flytta ner den första raden.

System.ArgumentOutOfRangeException was unhandled by user code
  Message="Insertion index was out of range. Must be non-negative and less than or equal to size.\\r\\nParameter name: index"
  Source="mscorlib"
  ParamName="index"
  StackTrace:
       at System.Collections.ArrayList.Insert(Int32 index, Object value)
       at System.Web.UI.WebControls.ListItemCollection.Insert(Int32 index, ListItem item)

Gert

Permalänk: https://www.webforum.nu/p/1768496

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/142323-listbox-kopierat-till-listbox2
