---
title: "XML fil i en dropdownlist"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/78677-xml-fil-i-en-dropdownlist"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "wwwstekaren"
published: "2003-06-02T08:36:01.000Z"
updated: "2003-06-03T08:26:51.000Z"
replies: 5
views: 282
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/78677-xml-fil-i-en-dropdownlist"
---

# XML fil i en dropdownlist

## #1 — wwwstekaren, 2003-06-02T08:36Z

Jag har en xml fil som skrivs ut i en dropdownlist i en datagrid. Den skriver ut ansvariga, men jag vill bara att den ska skriva ut den ansvariga en gång. Nu skriver den ut alla ex som heter Nisse nilsson, ska man loopa igenom listan och bara skriva ut ett Namne? De andra namnen ska också skrivas ut men bara en nisse nilson inte 10 st

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

## #2 — wwwstekaren, 2003-06-02T10:04Z

Här kommer lite hjälp för att förstå vad jag menar, denna funktionen gör så att jag får ut min xml fil i en dropdownlist i en datagrid.

```
private void XmlDataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
		{
			if(e.Item.ItemType == System.Web.UI.WebControls.ListItemType.Header)
			{
				DataSet ds = new DataSet();
				ds.ReadXml(Server.MapPath("webs.xml"));
				
				System.Web.UI.WebControls.DropDownList dropdown = (System.Web.UI.WebControls.DropDownList) e.Item.Cells[0].FindControl("dropdownlistRe");
				dropdown.DataSource = ds.Tables[0];
				dropdown.DataTextField = "Responsible"; //hämtar rätt nod från xmlfilen.
				
				dropdown.DataBind();
			}
		}
```

Nu skriver den ut alla och det innebär att en person som finns flera gånger i xml filen under "Responsible" kommer att skrivas ut flera gånger jag vill att den bara ska skrivas ut en gång i dropdownlistan, hur gör jag detta, loop if satts eller? Snälla hjälp mig

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

## #3 — NETwork, 2003-06-02T11:30Z

Ett förslag är att du i en whileloop addar ett namn i taget i en arraylist och för varje nytt namn så kollar du FÖRST om det namnet redan finns i arraylisten, om inte så addar du namnet. Så kör du på tills du har kört igenom alla namn. Därefter fyller du din dropdownlista med din arraylist.

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

## #4 — wwwstekaren, 2003-06-02T11:31Z

hur kodar jag detta? Är nybörjare på c# finns det något expemel på nätet eller vill du hjälpa mig:)?

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

## #5 — Grynet, 2003-06-02T14:19Z

Du kan göra som Network skrev eller så kan du loopa med itemsarna i dropdownen. Logiken bakom koden blir ungefär densamma. (skrev bara den från dropdownen eftersom jag slipper skapa arraylisten osv..)

Absolut inte prövad kod..skriver den bara rakt uppochner

```
  //loopar med alla items..dvs 'Responsible'
for(int i=0;i<dropdown.Items.Count;i++){
  if(!dropdown.Items[i].Visible){
    continue;  //vi behöver inte kontrollera de vi redan satt att vi inte ska visa
  }
    //loopar med de som kommer efter den Responsible vi tittar på
  for(int j=i+1;<dropdown.Items.Count;j++){  
    if(dropdown.Items[i].Value == dropdown.Items[j].Value){  //om de heter samma
      dropdown.Items[j].Visible = false;  //vi visar inte detta itemet
    }
  }
}
```

Nått i den stilen..

Tänk bara på att det kan finnas två som heter Snorre Snorresson :)

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

## #6 — wwwstekaren, 2003-06-03T08:26Z

Så här gjorde jag:)

```
private void XmlDataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
		{
			if(e.Item.ItemType == System.Web.UI.WebControls.ListItemType.Header)
			{
				DataSet ds = new DataSet();
				ds.ReadXml(Server.MapPath("webs.xml"));
				
				System.Web.UI.WebControls.DropDownList dropdown = (System.Web.UI.WebControls.DropDownList) e.Item.Cells[0].FindControl("dropdownlistRe");
				dropdown.DataSource = ds.Tables[0];
				dropdown.DataValueField = "Responsible";
				dropdown.DataBind();
				
				
				for(int i=0;i < dropdown.Items.Count; i++)
				{
					for(int j = 0; j < dropdown.Items.Count; j++)
					{
						if(j != i && dropdown.Items[j].Text == dropdown.Items[i].Text)
							dropdown.Items.RemoveAt(j);
                    }
				}	
			}
```

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/78677-xml-fil-i-en-dropdownlist
