linq 分页方法怎么用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linq 分页方法怎么用相关的知识,希望对你有一定的参考价值。

static IEnumerable<T> GetIenumberable<T>(IEnumerable<T> List,Func<T, bool> FunWhere,Func<T,string> FunOrder, int PageSize, int PageIndex) var rance = List.Where(FunWhere).OrderByDescending(FunOrder).Select(t => t).Skip((PageIndex - 1) * PageSize).Take(PageSize); return rance; 用个方法来给新闻news 表分页要怎么传参数啊

使用linq进行分页,参考方法如下:
protected void Page_Load(object sender, EventArgs e)

if (!IsPostBack)

int CurPage = 1;
int PageSize = 5;
int.TryParse(Request["CurPage"], out CurPage);
if (CurPage == 0)
CurPage = 1;
//获取总数据集合
IList<ContentsModel> objs = new List<ContentsModel>();
objs = Contents.GetAllContents();
//绑定数据显示控件
GridView1.DataSource = QueryByPage(PageSize, CurPage, objs);
GridView1.DataBind();
//获取分页目录
this.Label1.Text = GetQueryPagesMenu(PageSize, objs);


/// <summary>
/// 输入分页字符页码
/// </summary>
/// <param name="PageSize"></param>
/// <param name="objs"></param>
/// <returns></returns>
protected string GetQueryPagesMenu(int PageSize, IList<ContentsModel> objs)

int Count;
var db = objs;
var query = from cms_contents in db select cms_contents;
Count = (query.Count() / PageSize + 1);//不足一页按一页算
string PageMenu = "";
//拼接分页目录
for (int i = 1; i <= Count; i++)

PageMenu += "<a href='?CurPage=" + i.ToString() + "'>" + i.ToString() + "</a> | ";

return PageMenu;

/// <summary>
/// 获取分页后的数据集
/// </summary>
/// <param name="PageSize">每页显示的记录数</param>
/// <param name="CurPage">页数</param>
/// <param name="objs">数据总集合</param>
/// <returns></returns>
protected List<ContentsModel> QueryByPage(int PageSize, int CurPage, IList<ContentsModel> objs)

var query = from cms_contents in objs select cms_contents;
return query.Take(PageSize * CurPage).Skip(PageSize * (CurPage - 1)).ToList();
参考技术A int PageSize, int PageIndex
方法里本身这两个参数不就是 每页大小和当前的页码嘛
这两个就够分页了 你要还要什么?
参考技术B 假设你的news table对应的class是
public class NewsInfo

public int IDget; set;
public string Title get;set;



首先初始化一个news集合并获取数据
List<NewsInfo> news = GetdatafromDB();

然后按照下面的方式调用那个方法
var result GetIenumberable<NewsInfo>(news, x => x.ID > 3, x => x.Title, 10, 1);
解释一下:
第1个参数是你的数据,第2个是筛选条件,第3个是排序字段(且必须为String类型),第4个是Page Size,第5个是当前显示第几页
参考技术C pagesize页大小pageindex当前页,给这俩参数赋值就行

silverlight datagrid怎么获取筛选后的集合

我现在有一个DataGrid,然后我对它进行了排序,分页,筛选等操作.这时显示在 界面上的是该页的视图.我现在想做一个导出功能.导出的不是原来DataGrid的数据,而是进行操作后的数据。问一下又没有人知道思路或者其他的,我现在做的只能导出他的ItemsSource。可这个是完全数据。

用linq语句过滤出想要的数据,然后再导出不行吗。追问

..我能用linq过滤每条数据,但没什么用,他那个datagrid是一个自定义列表.里面筛选条件太多了.唉..郁闷,请教不到人.

追答

”datagrid是一个自定义列表“ 不明白什么意思,能说的详细一点吗 ,你是用的silverlight自带的datagird吗?

参考技术A 现在做的只能导出他

以上是关于linq 分页方法怎么用的主要内容,如果未能解决你的问题,请参考以下文章

python 用分页显示registered-ip

CakePHP用分页处理评论

ListView滑动不爽,滚动一页得滑几次?该用分页列表啦!

同事乱用分页 MySQL 卡爆,我真是醉了...

JAVA WEB 分页

.net(c#)Repeater控件问题