如何做上一页下一页

本文关键字:一页 何做 | 更新日期: 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