GridView用PagedDataSource实现分页

来源:互联网 发布:数控车床g50编程对刀 编辑:程序博客网 时间:2024/05/21 13:35

.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);

    }

原创粉丝点击