Quero adicionar uma opção "Selecionar uma" a uma lista suspensa vinculada a a List<T>
.
Depois de consultar o List<T>
, como adiciono minha inicial Item
, não parte da fonte de dados, como o PRIMEIRO elemento nisso List<T>
? Eu tenho:
// 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 cinzas
fonte
fonte
This method is an O(n) operation, where n is Count.
Add
método, ele insere no final.Append()
ePrepend()
. Confira esta respostaAtualização: para ter uma idéia melhor, defina a propriedade "AppendDataBoundItems" como true e, em seguida, declare o "Choose item" declarativamente. A operação de ligação de dados será adicionada ao item declarado estaticamente.
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.appenddatabounditems.aspx
-Oisina
fonte
Desde o .NET 4.7.1, você pode usar o efeito colateral gratuito
Prepend()
eAppend()
. A saída será um IEnumerable.fonte
Usar
List<T>.Insert
Embora não seja relevante para o seu exemplo específico, se o desempenho for importante, considere também o uso,
LinkedList<T>
pois a inserção de um item no início de umList<T>
requer que todos os itens sejam movidos. Consulte Quando devo usar uma lista versus uma lista vinculada .fonte
Use o método Insert de
List<T>
:fonte