Как добавить элемент в начало списка?

Я хочу добавить опцию" выбрать один " в раскрывающийся список, привязанный к List<T>.

как только я запрошу List<T>, Как добавить мой начальный Item, не часть источника данных, как первый элемент в этом List<T> ? У меня:

// 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;

3 ответов


использовать вставить способ:

ti.Insert(0, initialItem);

Update: лучшая идея, установите свойство "AppendDataBoundItems" в true, а затем объявите "выбрать элемент" декларативно. Операция привязки данных будет добавлена к статически объявленному элементу.

<asp:DropDownList ID="ddl" runat="server" AppendDataBoundItems="true">
    <asp:ListItem Value="0" Text="Please choose..."></asp:ListItem>
</asp:DropDownList>

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.appenddatabounditems.aspx

- Oisin


использовать вставить метод List<T>:

список.Метод Вставки (Int32, T):Inserts элемент в списке на specified index.

var names = new List<string> { "John", "Anna", "Monica" };
names.Insert(0, "Micheal"); // Insert to the first element