2012-02-17 4 views
-1

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のページング機能が必要です。

+0

私はあなたがb/sとc/sの意味をよく理解していません。 – Robaticus

+0

bsはweb application.csはデスクトップアプリケーションです。 – hic

答えて

1

ちょうどあなたが投稿したのはlinqクエリですが、linqの仕組みが分からなければ実際には説明できません。基本的にそのステートメントはを選択すべての表から別名データベースのコンテキストのdbテーブル名sys_Dictionaryと注文によって列sd_Key。 次にwhats thats evaulatedは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)); 
} 

のようなページングクラスを設定してください次へ前ページの事を設定するには、あなたは二つの方法、HasPreviousPageHasNextPage

例を持っているものを持っているものを持っていますあなたがあなたの情報を渡すと、例えば、そのページを返すことができます彼らから、その後

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 
関連する問題