2013-11-25 32 views
0

我想創建一個支持按多列排序並將其附加到bindingNavigator的bindingSource。 我使用winforms和代碼優先的EF。創建支持來自IOrderedQueryable的高級排序的綁定源

我建設我的查詢以下列方式

DbSet<Person> dset = DBContext.People; 
string Searchstr ="Smith"; 
string sortby ="LastName, FirstName" 
var qry = (IOrderedQueryable<Person>) dset.Where(
          p => p.LastName.Contains(Searchstr)) 
          .OrderBy(sortby); 

binding.datasource = dset.Local.ToBindingList(); // where binding has been dropped on form at design time. 
binding.sort = sortby; // this is the line that screws up the sort order 

我使用的擴展方法記錄here實現由多列的順序。

回答

0

問題原來是我設置了binding.sortby = sortby。 在查詢中使用多列sortby是因爲巧妙的擴展(請參閱問題中的鏈接),但無法將binding.sort設置爲涉及多列的表達式 如果我刪除該行。