我有一个EF源,我正在绑定到DataGridView。绑定以编程方式发生。但是,排序不起作用。
所以我决定搞乱一些代码并创建一个扩展方法,但它似乎仍然没有用。
public static class BindingListEntityExtension
{
public static BindingList<T> ToBindingList<T>(this IEnumerable<T> entities)
{
BindingList<T> rtn = new BindingList<T>();
foreach (T obj in entities)
{
rtn.Add(obj);
}
return rtn;
}
}
有什么想法吗?
答案 0 :(得分:3)
我遇到了SortableBindingList<T>
{{1}}。效果很好。您可以通过查看源代码来弄清楚如何使扩展方法正常工作。
答案 1 :(得分:1)
数据绑定依赖于IBindingList
接口进行过滤和排序,并且您的EF源不会实现此接口。要启用对此数据源的排序,您必须创建一个实现IBindingList
。