如何做上一页下一页
本文关键字:一页 何做 | 更新日期: 2023-09-27 18:24:50
wpf如何做上一页下一页。是否可以使用控件?像这个
prev 1 2 3 4 5 ... 20 next
我发现了这个,但我不知道如何使用它。
var dicts = (from m in db.sys_Dictionary
orderby m.sd_Key
select m).Skip(90).Take(10);
我可以运行linq,但我不知道如何使其成为一个完整的投资组合。
我发现很多数据都是b/s,我需要c/s的分页功能,谢谢。
您刚刚发布的是一个linq查询,但如果您不知道linq是如何工作的,则无法真正解释,。基本上,这些语句说从表m(又名数据库上下文数据库表名sys_Dictionary)和按列sd_Key排序。然后,它使用Skip方法跳过返回的前90条记录,只返回接下来的10条记录。
你不明白的问题是,这只会寻呼这个实例。要设置下一个上一页,您应该设置一个类似的分页类
public PaginatedList<T>(IQueryable<T> source, int pageIndex, int? pageSize)
{
PageIndex = pageIndex; //global variable
PageSize = pageSize ?? source.Count(); //global variable
TotalCount = source.Count(); //global variable
TotalPages = (int)Math.Ceiling(TotalCount /(double)PageSize); //global variable
this.AddRange(source.Skip(PageIndex*PageSize).Take(PageSize));
}
然后有两个方法,一个有HasPreviousPage,另一个有HasNextPage
示例
public bool HasPreviousPage
{
get
{
return(PageIndex >0); //same global variable
}
}
然后从他们那里你可以传递你的信息并返回该页面,例如
int page= 6;
var dictspage = new PaginatedList<m>(dicts, page, 10); //remove the skip and take from your dicts