Comment ajouter un élément au début de la liste?

Je veux ajouter un "Sélectionnez Une option d'une liste déroulante liée à un List<T>.

Une fois que j'ai demandé le List<T>, Comment puis-je ajouter mon Item initial, ne faisant pas partie de la source de données, en tant que premier élément de ce List<T> ? J'ai:

// 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;
314
demandé sur casperOne 2008-12-24 03:34:38

3 réponses

Utiliser le {Insérer[3]} méthode:

ti.Insert(0, initialItem);
565
répondu Matt Hamilton 2008-12-24 00:37:58

Update: une meilleure idée, définissez la propriété "AppendDataBoundItems" sur true, puis déclarez le" Choose item " de manière déclarative. L'opération de liaison de données s'ajoutera à l'élément déclaré statiquement.

<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

22
répondu x0n 2008-12-24 00:42:50

Utiliser {Insérer[6]} méthode de List<T>:

Liste.Insert Method (Int32, T): Inserts un élément dans la liste au specified index.

var names = new List<string> { "John", "Anna", "Monica" };
names.Insert(0, "Micheal"); // Insert to the first element
1
répondu Sina Lotfi 2018-06-18 13:46:45