Chcę dodać opcję „Wybierz jeden” do listy rozwijanej powiązanej z List<T>
.
Po zapytaniu o to List<T>
, jak dodać swój początkowy Item
, a nie część źródła danych, jako PIERWSZY element w tym List<T>
? Mam:
// 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
Popielniczka
źródło
źródło
This method is an O(n) operation, where n is Count.
Add
metody, wstawia na końcu.Append()
iPrepend()
. Sprawdź tę odpowiedźAktualizacja: lepszy pomysł, ustaw właściwość „AppendDataBoundItems” na wartość true, a następnie zadeklaruj deklarację „Wybierz element”. Operacja wiązania danych doda do statycznie zadeklarowanego elementu.
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.appenddatabounditems.aspx
-Oisin
źródło
Od wersji .NET 4.7.1 możesz korzystać z efektów ubocznych za darmo
Prepend()
iAppend()
. Wyjście będzie IEnumerable.źródło
Posługiwać się
List<T>.Insert
Jeśli nie jest to istotne w twoim konkretnym przykładzie, jeśli wydajność jest ważna, rozważ również użycie,
LinkedList<T>
ponieważ wstawienie elementu na początkuList<T>
wymaga, aby wszystkie elementy zostały przeniesione. Zobacz, kiedy powinienem użyć listy vs LinkedList .źródło
Użyj metody Wstaw
List<T>
:źródło