2008-12-24 42 views
277

我想添加一個「選擇一個」選項到綁定到List<T>的下拉列表中。如何添加項目到名單<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; 

回答

511

使用Insert方法:

ti.Insert(0, initialItem); 
23

更新:更好的主意,將「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

+2

這很酷。 OP沒有指定ASP.NET,但這是一個很好的技巧。 – 2008-12-24 00:54:39

+2

這就是訣竅...比創建自定義元素容易得多.....謝謝! – 2008-12-24 01:09:37

1

使用插入List<T>方法:

List.Insert方法(Int32,T):Inserts將元素放入列表中的specified index

相關問題