2017-03-17 4 views
0
in XML Datatext bespannen Einstellung

ich eine XML-Daten in einem Datensatz in C# lese und dann bin ich eine DropDownList mit ID-Nummern bevölkern in Elemente in der XML gefunden, wie folgt aus:Dropdown Duplikate nach

DataSet dataSet = new DataSet(); 
dataSet.ReadXml(myPathToXML); 

dann bevölkern:

idDropDownList.DataSource = dataSet; 
idDropDownList.DataTextField = "id"; 
idDropDownList.DataBind(); 

jedoch diese Duplikate zu schaffen scheint in meinem DropDownList die ich nicht will.

EDIT:

Wäre es möglich, das letzte Element in der Dropdown-Liste als so etwas wie „New ID“ zu haben, und wenn der Benutzer auswählt, dass der Drop-Down durch ein TextBox ersetzt wird, in dem er/sie ein eingeben neue (eindeutige) ID?

+0

Ihre Bearbeitung stellt eine völlig neue Frage. . . und für deine erste Frage, was hast du versucht, dein Problem zu lösen? Das Wichtigste ist, dass Sie die XML-Ergebnisse mit einer Linq-Distinc-Abfrage selbst filtern. –

+0

@ CodyG. Du hast Recht, meine Bearbeitung fügt eine weitere Frage hinzu. Es tut mir leid, dass ich diesen Fehler gemacht habe! Ich werde versuchen, einen neuen Schnitt zu machen und klarzustellen, was ich bisher in Bezug auf die erste Frage versucht habe. –

Antwort

0

Zum ersten Teil Ihrer Frage,
tun idDropDownList.Clear() vor DataBind()

Für die zweite - es gibt viele Möglichkeiten
Zum Beispiel:
1. Anfügen eine weitere Zeile zu DataSet vor Databind();
2. Haben Sie einen versteckten TextBox 3. Handle SelectedIndexChanged-Ereignis: DropDownList ausblenden und TextBox anzeigen 4. Behandeln Sie LostFocus-Ereignis von TextBox, führen Sie Databind und Sichtbarkeit der Steuerelemente zurück.

+0

Danke, das reicht, um mich in die richtige Richtung zu führen! –

Verwandte Themen