2012-02-17 29 views
-1

wpf如何做prev下一页。 控制可以使用? 像这样如何做prev next page?

prev 1 2 3 4 5 ... 20 next 

我发现这一点,但我不知道如何使用它。我可以运行linq,但我不知道如何使它成为一个完整的组合。

我发现很多数据都是B/S,我需要C/S的分页功能,谢谢。

+0

我不太清楚b/s和c/s的含义。 – Robaticus 2012-02-17 03:13:58

+0

bs是web application.cs是桌面应用程序。 – hic 2012-02-17 04:43:41

回答

1

你刚刚发布的是一个linq查询,但是如果你不知道linq是如何工作的,不能真正解释。基本上那个语句表示选择全部来自表格m aka 数据库上下文 db表格名称sys_Dictionary和order by列sd_Key。 然后,什么是它退出它使用跳过方法跳过前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