521 votes

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

Je veux ajouter une option "Select One" à une liste déroulante liée à un List<T> .

Une fois que j'interroge le List<T> , comment puis - je ajouter mon Item initial, ne faisant pas partie de la source de données, comme premier élément dans 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;
 

897voto

Matt Hamilton Points 98268

Utilisez la méthode Insert :

 ti.Insert(0, initialItem);
 

26voto

x0n Points 26002

Mise à jour: une meilleure idée, définissez la propriété "AppendDataBoundItems" sur true, puis déclarez "Choose item" de façon 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/fr-fr/library/system.web.ui.webcontrols.listcontrol.appenddatabounditems.aspx

-Oisin

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X