c# Gridview 自动分页功能 解决后面页面不显示问题

操作步骤:
操作如下:
1、更改GrdView控件的AllowPaging属性为true
2、更改GrdView控件的PageSize属性为 任意数值(默认为10)
3、更改GrdView控件的PageSetting->Mode为Numeric等(默认为Numeric)该属性为分页样式。
GridView属性设置好了,从页面上也能看到分页样式。
 
现在开始实现分页的功能:
1、在<<asp:GridView ID=......>后添加,OnPageIndexChanging="GridView1_PageIndexChanging"
2、在对应的aspx.cs中添加:
    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        InitPage(); //重新绑定GridView数据的函数
    }
******** 需要注意的是 bind() 方法在写入page_Load 时 要放在 If(!ispostback)中 {第一次加载时执行} 否则 后面的页面不会显示出来

前台代码:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    </div>
        <asp:GridView ID="GridView1" runat="server" AllowPaging="true" PageSize="20" OnPageIndexChanging="GridView1_PageIndexChanging">
        </asp:GridView>
    </form>
</body>
</html>

  


//后台代码:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; namespace test.Mypage { public partial class gridviewfenye : System.Web.UI.Page { int i = 100; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { bind(); // 注意这里 要第一次加载的时候才绑定数据 否则 后面的页面是空白 不限是数据 } } public void bind() // 向Gridview中绑定数据 { DataTable dt = new DataTable(); dt.Columns.Add("ID"); dt.Columns.Add("Name"); dt.Columns.Add("Sex"); dt.Columns.Add("Age"); object[] dr = new object[4]; dr[1] = "张三"; dr[2] = "男"; dr[3] = "21"; for (; i < 10005; i++) { dr[0] = i.ToString(); dt.Rows.Add(dr); } GridView1.DataSource = dt; GridView1.DataBind(); } protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { GridView1.PageIndex = e.NewPageIndex; //添加分页功能 bind(); //重新绑定GridView数据的函数 } } }

  

posted @ 2015-09-09 09:11  我很好123  阅读(5505)  评论(0编辑  收藏  举报