Quiero agregar una opción "Seleccionar uno" a una lista desplegable vinculada a un List<T>
.
Una vez que pregunto por List<T>
, ¿cómo agrego mi inicial Item
, no parte de la fuente de datos, como el PRIMER elemento en eso List<T>
? Yo tengo:
// 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
Máquina de la ceniza
fuente
fuente
This method is an O(n) operation, where n is Count.
Add
método, se inserta al final.Append()
yPrepend()
. Verifique esta respuestaActualización: una mejor idea, establezca la propiedad "AppendDataBoundItems" en verdadero, luego declare el "Elegir elemento" declarativamente. La operación de enlace de datos se agregará al elemento declarado estáticamente.
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.appenddatabounditems.aspx
-Oisina
fuente
Desde .NET 4.7.1, puede usar el efecto secundario libre
Prepend()
yAppend()
. La salida será un IEnumerable.fuente
Utilizar
List<T>.Insert
Si bien no es relevante para su ejemplo específico, si el rendimiento es importante, también considere usarlo
LinkedList<T>
porque insertar un elemento al comienzo de unList<T>
requiere que se muevan todos los elementos. Consulte Cuándo debo usar una lista frente a una lista enlazada .fuente
Utilice el método de inserción de
List<T>
:fuente