481

にバインドされたドロップダウン リストに「1 つ選択」オプションを追加したいと考えていList<T>ます。

をクエリしたら、データ ソースの一部ではなく、その FIRST 要素としてList<T>イニシャルを追加するにはどうすればよいですか? 私は持っている:ItemList<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;
4

5 に答える 5

837

Insertメソッドを使用します。

ti.Insert(0, initialItem);
于 2008-12-24T00:37:58.590 に答える
25

.NET 4.7.1 以降、副作用のないPrepend()Append(). 出力は IEnumerable になります。

// Creating an array of numbers
var ti = new List<int> { 1, 2, 3 };

// Prepend and Append any value of the same type
var results = ti.Prepend(0).Append(4);

// output is 0, 1, 2, 3, 4
Console.WriteLine(string.Join(", ", results ));
于 2020-01-08T10:11:26.043 に答える
25

更新:より良いアイデアとして、「AppendDataBoundItems」プロパティを true に設定し、「Choose item」を宣言的に宣言します。データバインディング操作は、静的に宣言されたアイテムに追加されます。

<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

-オイシン

于 2008-12-24T00:37:47.030 に答える