如何按动态LINQ orderby排序页面? [英] How to sort page by dynamic LINQ orderby?
本文介绍了如何按动态LINQ orderby排序页面?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
public dynamic GetRecordsPerPage(IList<FaxHistory> list, int page, int pageSize, string sortBy)
{
var sortlist= list.AsQueryable().OrderBy(x => x.xCrDate).ToList();
return sortlist.Skip(page * pageSize).Take(pageSize).ToList();
}
图像:.OrderBy发生错误 [ ^ ]
排序应按"sortBy"进行,而不应按
Imgur: Error at .OrderBy [^]
The sorting should be by "sortBy", not by
x => x.xCrDate
.如何解决这个问题?
我尝试过的事情:
. How can manage this problem?
What I have tried:
public dynamic GetRecordsPerPage(IList<FaxHistory> list, int page, int pageSize, string sortBy)
{
var sortlist= list.AsQueryable().OrderBy(x => x.xCrDate).ToList();
//var sortlist= list.AsQueryable().OrderBy(sortBy).ToList();
return sortlist.Skip(page * pageSize).Take(pageSize).ToList();
}
推荐答案
try
try
public dynamic GetRecordsPerPage(IList<FaxHistory> list, int page, int pageSize, string sortBy)
{
var prop = typeof(FaxHistory).GetProperty(sortBy);
var sortlist = list.AsQueryable().OrderBy(x => prop.GetValue(x, null));
return sortlist.Skip(page * pageSize).Take(pageSize).ToList();
}
// or
public dynamic GetRecordsPerPage<T>(IList<FaxHistory> list, int page, int pageSize, Func<FaxHistory,T> sortBy)
{
var sortlist = list.AsQueryable().OrderBy(sortBy).ToList();
return sortlist.Skip(page * pageSize).Take(pageSize).ToList();
}
这篇关于如何按动态LINQ orderby排序页面?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文