GridView用PagedDataSource实现分页

.aspx代码:

<script type="text/javascript">
      
function isUnsignedInteger() {
   var strInteger=document.getElementById("txtPage").value;
   var newPar=/^/d+$/
    if(!newPar.test(strInteger))
    {
      alert("请输入正确的页数"); 
      return false;
    }
    else
    return true;
}
   </script>

 

 <asp:GridView ID="gvProject" runat="server" AutoGenerateColumns="False" AllowSorting="True" >

...............

</asp:GridView>

<table id="pagenum" visible="false" runat="server" width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
                                  <td align="center" style="height: 22px">
                                      <asp:Label ID="lblCurrentPage" runat="server" Text=""></asp:Label>
                                      <asp:HyperLink ID="lnkIndex" runat="server" Font-Overline="false">首页</asp:HyperLink>
                                      <asp:HyperLink ID="lnkPrev" runat="server" Font-Overline="false">上一页</asp:HyperLink>
                                      <asp:HyperLink ID="lnkNext" runat="server" Font-Overline="false">下一页</asp:HyperLink>
                                      <asp:HyperLink ID="lnkLast" runat="server" Font-Overline="false">尾页</asp:HyperLink>
                                      <input id="txtPage" runat="server" style="width: 25px; height: 15px"/>
                                   
                                      <asp:Button ID="btnGo" runat="server" Text="GO" Width="28px" Height="20px" OnClick="btnGo_Click"  OnClientClick="return isUnsignedInteger()"/>
                                  </td>
           </tr>
</table>

.aspx.cs代码:

 IList<Project_Master> pm = Project_MasterManager.GetAllProject_Masters();

 PagedDataSource pds = new PagedDataSource();
            int CurPage = 0;
            pds.DataSource = pm;
            pds.PageSize = 10;
            pds.AllowPaging = true;
            if (pm.Count > 10)
                this.pagenum.Visible = true;//翻页显示
           
            if (Request.QueryString["Page"] != null)
            {
                CurPage = Convert.ToInt32(Request.QueryString["Page"]);
                if (Convert.ToInt32(Request.QueryString["Page"]) > pds.PageCount)
                {
                    CurPage = pds.PageCount;
                }
                else if (Convert.ToInt32(Request.QueryString["Page"]) == 0)
                {
                    CurPage = 1;
                }
            }
            else
           
                CurPage = 1;
                pds.CurrentPageIndex = CurPage - 1;
                lblCurrentPage.Text = CurPage.ToString() + "/" + pds.PageCount + "页";

                if (!pds.IsFirstPage)
                {
                    lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?FileId=" + pm[0].Id+ "&Page=" + Convert.ToString(CurPage - 1);
                    lnkIndex.NavigateUrl = Request.CurrentExecutionFilePath + "?FileId=" + pm[0].Id+ "&Page=1";
                }
                if (!pds.IsLastPage)
                {
                    lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?FileId=" + pm[0].Id+ "&Page=" + Convert.ToString(CurPage + 1);
                    lnkLast.NavigateUrl = Request.CurrentExecutionFilePath + "?FileId=" + pm[0].Id+ "&Page=" + pds.PageCount.ToString();
                }

                this.gvProject.DataSource = pds;
                this.gvProject.DataBind();
           
        }

//go 跳到第几页

    protected void btnGo_Click(object sender, EventArgs e)
    {
        string numpage = this.txtPage.Value.ToString();
        Response.Redirect("ProjectMaster.aspx?page=" + numpage);

    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值