Свойство для BindingSource для возврата отсортированного по алфавиту списка
Я пытаюсь создать свойство, которое возвращает BindingSource
в алфавитном порядке, здесь по столбцу "Имя". Ниже приведен пример использования Linq, который не компилируется: "BindingSource не содержит определения для OrderBy"
У меня нет никаких предпочтений в том, как это достигается, Linq или как-то иначе.
Что ты предлагаешь?
internal System.Windows.Forms.BindingSource bsContractors;
this.bsContractors = new
System.Windows.Forms.BindingSource(this.components);
public System.Collections.Generic.List<Contractor> Contractors
{
get
{
// Linq
List < Contractor > SortedList = bsContractors.OrderBy(o => o.Name).ToList();
bsContractors.DataSource = SortedList;
return bsContractors.List as System.Collections.Generic.List<Contractor>;
}
}
1 ответ
Решение
Я просто догадываюсь здесь, но попробуйте это:
List <Contractor> SortedList = bsContractors.List.Cast<Contractor>().OrderBy(o => o.Name).ToList();