Asp.net: Как отсортировать выпадающий список с дубликатами?
-
05-07-2019 - |
Вопрос
У меня есть выпадающий список, в который мы добавляем определенные элементы после того, как выпадающий список связан с данными из БД, поэтому возникает необходимость сортировки выпадающего списка. Поэтому мне нужно отсортировать выпадающий список, который может иметь дубликаты. Каков наилучший способ сделать это?
Решение
Вместо добавления элементов непосредственно в раскрывающийся список, я бы предложил добавить их в структуру данных, к которой вы привязываете. Если элементы в этой структуре реализуют IComparable
, то вы можете определить метод сравнения для применения сортировки до того, как раскрывающийся список будет фактически привязан к источнику данных.
Другие советы
Предполагая, что вы привязываетесь к общему списку, вы можете попробовать что-то вроде этого:
var ddlFoo = new List<foo>();
foreach (var lc in myDropDownList.Items)
{
ddlFoo.Add((foo)lc);
}
myDropDownList.DataSource = ddlFoo.OrderBy(dl => dl.fooID);
myDropDownList.Databind();