簡體   English   中英

為什么我的DataSource的類型似乎在我將它傳遞給BindingSource之前調用.OrderBy時會改變?

[英]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之后OrderByEmployeeList

您可能需要執行以下操作:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM