Kui vaja asp:DropDownList täita sorteerituna ListItem massiivi väärtuste järgi saab seda teha nii:
ListItem[] items // siin on võti-väärtus andmepaaridena andmed
//sorteerime väärtuse järgi
System.Array.Sort(items, new myListItemComparer());
// item on nüüd sorteeritud
ListItemCollection col = new ListItemCollection();
//lisame kollektsiooni
for (int i = 0; i < items.Length; i++)
{
col.Add(new ListItem(items[i].Value,items[i].Text));
}
//paneme andmed külge
this.DropDownList1.DataSource = col;
this.DropDownList1.DataTextField = "Text";
this.DropDownList1.DataValueField = "Value";
this.DropDownList1.DataBind();
//väärtuse järgi sorteerimiseks vajalik klass
public class myListItemComparer : IComparer
{
int IComparer.Compare(object x, object y)
{
ListItem item_1 = x as ListItem;
ListItem item_2 = y as ListItem;
return item_1.Value.CompareTo(item_2.Value);
}
}
Kindlasti saab ka kuidagi lihtsamini