Ich möchte einer Dropdown-Liste, die an a gebunden ist, die Option "Select One" hinzufügen List<T>
.
List<T>
Wie füge ich nach der Abfrage von das meine Initiale Item
, nicht einen Teil der Datenquelle, als ERSTES Element hinzu List<T>
? Ich habe:
// populate ti from data
List<MyTypeItem> ti = MyTypeItem.GetTypeItems();
//create initial entry
MyTypeItem initialItem = new MyTypeItem();
initialItem.TypeItem = "Select One";
initialItem.TypeItemID = 0;
ti.Add(initialItem) <!-- want this at the TOP!
// then
DropDownList1.DataSource = ti;
c#
drop-down-menu
generic-list
Aschemaschine
quelle
quelle
This method is an O(n) operation, where n is Count.
Add
Methode, sie wird am Ende eingefügt .Append()
und verwendenPrepend()
. Überprüfen Sie diese AntwortUpdate: Eine bessere Idee: Setzen Sie die Eigenschaft "AppendDataBoundItems" auf "true" und deklarieren Sie das Element "Element auswählen" deklarativ. Der Datenbindungsvorgang wird dem statisch deklarierten Element hinzugefügt.
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.appenddatabounditems.aspx
-Oisin
quelle
Seit .NET 4.7.1 können Sie die Nebenwirkung kostenlos
Prepend()
und nutzenAppend()
. Die Ausgabe wird eine IEnumerable sein.quelle
Verwenden
List<T>.Insert
Obwohl dies für Ihr spezielles Beispiel nicht relevant ist, sollten Sie bei Verwendung der Leistung auch die Verwendung in Betracht ziehen,
LinkedList<T>
da für das Einfügen eines Elements am Anfang von aList<T>
alle Elemente verschoben werden müssen. Siehe Wann soll ich eine Liste vs einem LinkedList verwenden .quelle
Verwenden Sie die Einfügemethode von
List<T>
:quelle