2012-02-17 62 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