Asp.net: come ordinare un menu a discesa con duplicati?
-
05-07-2019 - |
Domanda
Ho un menu a discesa in cui aggiungiamo determinati elementi dopo che il menu a discesa è vincolato dai dati dal db, quindi sorge la necessità di ordinare il menu a discesa. Quindi ho bisogno di ordinare un menu a discesa che può avere duplicati. Qual è il modo migliore per farlo?
Soluzione
Invece di aggiungere elementi direttamente al menu a discesa, suggerirei di aggiungerli alla struttura dati a cui ti colleghi. Se gli elementi in questa struttura implementano IComparable
, puoi definire un metodo di confronto per applicare l'ordinamento prima che il menu a discesa sia effettivamente associato all'origine dati.
Altri suggerimenti
Supponendo che tu stia vincolando un Elenco generico puoi provare qualcosa del genere:
var ddlFoo = new List<foo>();
foreach (var lc in myDropDownList.Items)
{
ddlFoo.Add((foo)lc);
}
myDropDownList.DataSource = ddlFoo.OrderBy(dl => dl.fooID);
myDropDownList.Databind();