您的位置:首页 > 编程语言 > C#

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

2015-09-09 09:11 603 查看
操作步骤:

操作如下:

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数据的函数
}
}
}



  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: