2009-05-05 5 views
0

J'ai une liste déroulante dans laquelle nous ajoutons certains éléments après que la liste déroulante est liée par les données de la base de données, d'où la nécessité de trier la liste déroulante. J'ai donc besoin de trier une liste déroulante qui peut avoir des doublons. Quelle est la meilleure façon de faire cela?Asp.net: Comment trier une liste déroulante ayant des doublons?

+0

Quel est votre type de source de données? DataReader, List, Dictionary, Array? – balexandre

+0

la source de données est une liste – renegadeMind

Répondre

2

Au lieu d'ajouter des éléments directement dans le menu déroulant, je vous suggère de les ajouter à la structure de données qui vous lient à. Si les éléments de cette structure implémentent IComparable, vous pouvez définir une méthode de comparaison pour appliquer le tri avant que la liste déroulante ne soit réellement liée à la source de données.

0

En supposant que vous liez à une liste générique, vous pouvez essayer quelque chose comme ceci:

var ddlFoo = new List<foo>(); 
    foreach (var lc in myDropDownList.Items) 
    { 
     ddlFoo.Add((foo)lc); 
    } 
    myDropDownList.DataSource = ddlFoo.OrderBy(dl => dl.fooID); 
    myDropDownList.Databind(); 
Questions connexes