ASP.NET学习之GridView自带分页功能

主要步骤:

1、前台页面准备:

1)准备一个GridView组件,在组件中设置好以下三个属性

AllowPaging="True" :允许分页

PageSize="5" :每页显示的数据条数

OnPageIndexChanging="GridView1_PageIndexChanging":页码发生改变触发的事件

2)按照需要准备对应的行。

3)用后台语言绑定好对应的属性

2、后台准备

1)链接数据库,得到连接数据库的字符串

2)操作数据库,得到满足条件的数据,通过SQLDataAdapter 将数据填充到DataSet中

3)写OnPageIndexChanging事件要完成的功能代码

具体实现代码如下:

前台页面:

注意里面重要的几个属性:

AllowPaging="True" :允许分页

PageSize="5" :每页显示的数据条数

OnPageIndexChanging="GridView1_PageIndexChanging":页码发生改变触发的事件

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GridView分页.aspx.cs" Inherits="分页显示数据.GridView分页" %>

<!DOCTYPE html>

<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>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AllowPaging="True" PageSize="5" OnPageIndexChanging="GridView1_PageIndexChanging">
            <Columns>
                <asp:TemplateField HeaderText="用户ID">
                   <ItemTemplate><%#Eval("Uid") %></ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="主题">
                     <ItemTemplate><%#Eval("Subject") %></ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="内容">
                     <ItemTemplate><%#Eval("Content") %></ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
    </div>
    </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.Configuration;
using System.Data.SqlClient;
using System.Data;

namespace 分页显示数据
{
    public partial class GridView分页 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {          
                BindData();          
        }

        //获得连接数据库的字符串
        string StrSql = ConfigurationManager.ConnectionStrings["MyDB"].ToString();
        //定义一个DateSet
        DataSet ds = new DataSet();
        /// <summary>
        /// 将数据绑定到组将GridView上【实现数据展示了】
        /// </summary>
        public void BindData()
        {
            using (SqlConnection sqlConn = new SqlConnection(StrSql))
            {
                string str = "select * from tb_LeaveWord";
                SqlDataAdapter sda = new SqlDataAdapter(str, sqlConn);
                sda.Fill(ds);
                //到目前为止就得到了满足条件的数据集合,存储在DataSet中
                GridView1.DataSource = ds;  //给组件GridView绑定数据源
                GridView1.DataBind();   //将数据源绑定到控件上【注意:这句话一定要写,否则数据就显示不出来】
            }
        }

        protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridView1.PageIndex = e.NewPageIndex;
            GridView1.DataBind();  
        }
    }
}
原文地址:https://www.cnblogs.com/Yisijun/p/4591733.html