2012-01-02 8 views
0

カスタムページャの次のボタンとprevボタンを取得しようとしています。ここに私がこれまで持っているものがあり、それは次と前ボタンが必要であることを除いて完璧に働いています。PagedDataSourceを使用してカスタムページャのnextとprevボタン

私がやっていること

PagedDataSource page = new PagedDataSource(); 

       page.AllowCustomPaging = true; 
       page.AllowPaging = true; 
       page.DataSource = query; 
       page.PageSize = 5; 
       QRep.DataSource = page; 
       QRep.DataBind(); 

* Qrepはasp.netリピーター制御で、*クエリはSQLクエリにLINQの結果です。ここ

は、私はそれだけでページ番号を表示する以外の行数は、これが正常に動作している

private int RowCount 
    { 
     get 
     { 
      return (int)ViewState["RowCount"]; 
     } 
     set 
     { 
      ViewState["RowCount"] = value; 
     } 
    } 

以下のように保存されているページャコントロールと割り当てられたイベントハンドラ

private void CreatePagingControl() 
    { 
     for (int i = 0; i < (RowCount/5) + 1; i++) 
     { 


      LinkButton lnk = new LinkButton(); 
      lnk.Click += new EventHandler(lbl_Click); 
      lnk.ID = "lnkPage" + (i + 1).ToString(); 
      lnk.Text = (i + 1).ToString(); 
      plcPaging.Controls.Add(lnk); 
      Label spacer = new Label(); 
      spacer.Text = "&nbsp;"; 
      plcPaging.Controls.Add(spacer); 

     } 

    } 

    void lbl_Click(object sender, EventArgs e) 
    { 
     LinkButton lnk = sender as LinkButton; 
     int currentPage = int.Parse(lnk.Text); 
     int take = currentPage * 5; 
     int skip = currentPage == 1 ? 0 : take - 5; 
     FetchData(take, skip); 
    }  

を作成する方法であります次のコントロールとこれまでのコントロールをどのように統合できるかを知りたいと思います。どのような助けを得た男。前もって感謝します。

答えて

1

ここasp.net 3.5のためのオープンソースのページャーコントロールを参照してください:
http://www.codeproject.com/KB/custom-controls/ASPNETPagerControl.aspx

編集

にここにソースコードを持つ別のasp.netページャコントロールもあります:
http://aspnetpager.codeplex.com/

+0

ありがとう、しかし私はSQLデータソースにlinqで使用できる何かを探しています。 –

+0

http://www.codeproject.com/KB/custom-controls/ASPNETPagerControl.aspxから、「ASP.NET 3.5プロジェクトには、LINQをポケットベルコントロールのデータプロバイダとして利用する方法を示すサンプルがあります。 –

+0

aspnetpager.codeplex.comを使用する場合は、linqクエリを使用するためにサンプルコードからado.netクエリを置き換えてください。 –

関連する問題