使用gridview和 pagetemplate组合的分页显示
以下代码可用直接使用:
1、页面代码,放入html中即可使用:
注意要在页面<asp: ........>中增加:OnPageIndexChanging="GridView1_PageIndexChanging"
<div>
<asp:GridView ID="GridView1" runat="server"
OnPageIndexChanging="GridView1_PageIndexChanging" AllowPaging="True" PageSize="25">
</asp:GridView>
</div>
<PagerTemplate>
<asp:LinkButton ID="lb_firstpage" runat="server" οnclick="lb_firstpage_Click">首页</asp:LinkButton>
<asp:LinkButton ID="lb_previouspage" runat="server"
οnclick="lb_previouspage_Click">上一页</asp:LinkButton>
<asp:LinkButton ID="lb_nextpage" runat="server" οnclick="lb_nextpage_Click">下一页</asp:LinkButton>
<asp:LinkButton ID="lb_lastpage" runat="server" οnclick="lb_lastpage_Click">尾页</asp:LinkButton>
第<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
页/共<asp:Label ID="Label2" runat="server" Text='<%#GridView1.PageCount %>'></asp:Label>页
</PagerTemplate>
<!--在此GridView1.PageCount不起作用,什么原因不知,赋值写道cs里了 -->
2、后台代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
public partial class Reportxyq_showx : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
dataBinding();
}
protected void dataBinding()//绑定数据源并显示
{
String sqlconn = "Server=.; DataBase=zongdiao; Integrated Security=SSPI ";
string sql = "select top 500 * from table";
SqlConnection myConnection = new SqlConnection(sqlconn);// 创建数据库连接实例
myConnection.Open(); //打开数据库
// SqlCommand myCommand = new SqlCommand(sql, myConnection);//创建sql的实例,执行一个sql
SqlDataAdapter myda = new SqlDataAdapter(sql, sqlconn);//创建一个sql数据适配器
DataSet myDs = new DataSet(); //创建数据集实例
// myda.Fill(myDs, "gk_kpi");
myda.Fill(myDs);
GridView1.DataSource = myDs;//
GridView1.DataBind();
Label2.Text = GridView1.PageCount.ToString();
Label1.Text = (GridView1.PageIndex + 1).ToString();
// myConnection.Close();//关闭数据库连接
}
//要在页面文件中增加 <asp:GridView ID="GridView1" runat="server" OnPageIndexChanging="GridView1_PageIndexChanging".....
//分页后重新绑定数据
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
dataBinding();
}
// protected void Button_search_Click(object sender, EventArgs e)//
// {
// dataBinding();
//}
protected void lb_firstpage_Click(object sender, EventArgs e)//向前到首页
{
this.GridView1.PageIndex = 0;
dataBinding();
}
protected void lb_previouspage_Click(object sender, EventArgs e)//向前一页
{
if (this.GridView1.PageIndex > 0)
{
this.GridView1.PageIndex--;
dataBinding();
}
}
protected void lb_nextpage_Click(object sender, EventArgs e)//向后一页
{
if (this.GridView1.PageIndex < this.GridView1.PageCount)
{
this.GridView1.PageIndex++;
dataBinding();
}
}
protected void lb_lastpage_Click(object sender, EventArgs e)//到最后一页
{
this.GridView1.PageIndex = this.GridView1.PageCount;
dataBinding();
}
}