c/s 分頁問題

 //實現分頁 後臺代碼,這裏gridview命名爲:gv ,希望對你有幫助
        try
        {

            LblCurrentIndex.Text = "第 " + (gv.PageIndex + 1).ToString() + " 頁";
            LblPageCount.Text = "共 " + gv.PageCount.ToString() + " 頁";
            LblRecordCount.Text = "總共 " + ds.Tables[0].Rows.Count.ToString() + " 條記錄";
            if (ds.Tables[0].Rows.Count == 0)//如果沒有記錄顯示
            {
                btnFirst.Enabled = false;
                btnPrev.Enabled = false;
                btnNext.Enabled = false;
                btnLast.Enabled = false;

                LblCurrentIndex.Enabled = false;
                LblPageCount.Enabled = false;
                LblRecordCount.Enabled = false;
            }
            else if (gv.PageCount == 1)//只有一頁記錄可以顯示
            {
                btnFirst.Enabled = false;
                btnPrev.Enabled = false;
                btnNext.Enabled = false;
                btnLast.Enabled = false;
            }
            else                            //有多頁記錄
            {
                if (CurrentPageIndex == 0)  //當前爲第一頁
                {
                    btnFirst.Enabled = false;
                    btnPrev.Enabled = false;
                    btnNext.Enabled = true;
                    btnLast.Enabled = true;
                }
                else if (CurrentPageIndex == gv.PageCount - 1)//當前爲最後一頁
                {
                    btnFirst.Enabled = true;
                    btnPrev.Enabled = true;
                    btnNext.Enabled = false;
                    btnLast.Enabled = false;
                }
                else                              //當前爲第一頁與最後一頁之間
                {
                    btnFirst.Enabled = true;
                    btnPrev.Enabled = true;
                    btnNext.Enabled = true;
                    btnLast.Enabled = true;
                }


                // 計算生成分頁頁碼,分別爲:"首 頁" "上一頁" "下一頁" "尾 頁"
                btnFirst.CommandName = "1";
                btnPrev.CommandName = (gv.PageIndex == 0 ? "1" : gv.PageIndex.ToString());

                btnNext.CommandName = (gv.PageCount == 1 ? gv.PageCount.ToString() : (gv.PageIndex + 2).ToString());
                btnLast.CommandName = gv.PageCount.ToString();
            }

        }
        catch (Exception ex)
        {
            Response.Write("數據庫錯誤,錯誤原因:" + ex.Message);
            Response.End();
        }
   
    public int CurrentPageIndex  //獲取當前頁
    {
        get { return this.gv.PageIndex; }
        set { this.gv.PageIndex = value; }
    }


//前臺代碼:
<tr>
<td >
  <asp:GridView ID="gv"  runat="server" >
                               
  </asp:GridView>
</td>
</tr>
<tr>
<td style="height:25px; background-color:#5D7B9D">
            <asp:LinkButton ID="btnFirst" CommandArgument="first" OnClick="PagerButtonClick" runat="server">首 頁 </asp:LinkButton>&nbsp;
                        <asp:LinkButton ID="btnPrev" CommandArgument="prev" OnClick="PagerButtonClick" runat="server">上一頁 </asp:LinkButton>
                        <asp:LinkButton ID="btnNext" CommandArgument="next" OnClick="PagerButtonClick" runat="server">下一頁 </asp:LinkButton>
                        <asp:LinkButton ID="btnLast" CommandArgument="last" OnClick="PagerButtonClick" runat="server">尾 頁 </asp:LinkButton>
</td>
</tr>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章