![](/img/trans.png)
[英]How do I convert BindingSource.DataSource to my custom object?
[英]Why does the type of my DataSource seem to change when I call .OrderBy on it before passing it to a BindingSource?
我有一個問題,我希望有人可以幫助我。
我有一個類,EmployeeList繼承自:
public class MultipleSortableBindingListView<T> : BindingList<T>, IBindingListView
我填充EmployeeList,並設置一個BindingSource.DataSource等於它:
EmployeeListBindingSource.DataSource = lstEmployees.OrderBy(t=>t.LastName)
.ThenBy(t=>t.FirstName);
然后,當我引用DataSource時,它不再是EmployeeList類型。
基本上,我需要在執行OrderBy
之后OrderBy
為EmployeeList
。
您可能需要執行以下操作:
var newlist = new EmployeeList(lstEmployees.OrderBy(t=>t.LastName).ThenBy(t=>t.FirstName));
但是,由於EmployeeList派生自一個名為MultipleSortableBindingListView
的類,因此人們會懷疑它有自己設置排序順序的方法,而不必訴諸於使用LINQ。
我最近遇到了類似的問題。 (我認為)
當你在EmployeeList上調用那些LINQ方法(.OrderBy(...)。ThenBy(...))時會發生什么,它將EmployeeList的類型更改為'IOrderedList'。
James Curran為這次會議提供了一個可行的解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.