ASP.NET学习之分页数据绑定_GridView+AspNetPager

基本上和Repeater+AspNetPager是一样的。

前台页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GridView+AspNetPager.aspx.cs" Inherits="分页显示数据.GridView_AspNetPager" %>
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer"%>
<!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>
    <style type="text/css">
    /*网易风格*/
    .anpager .cpb {background:#1F3A87 none repeat scroll 0 0;border:1px solid #CCCCCC;color:#FFFFFF;font-weight:bold;margin:5px 4px 0 0;padding:4px 5px 0;}
    .anpager a {background:#FFFFFF none repeat scroll 0 0;border:1px solid #CCCCCC;color:#1F3A87;margin:5px 4px 0 0;padding:4px 5px 0;text-decoration:none}
    .anpager a:hover{background:#1F3A87 none repeat scroll 0 0;border:1px solid #1F3A87;color:#FFFFFF;}
 
    /*拍拍网风格*/
    .paginator { font: 11px Arial, Helvetica, sans-serif;padding:10px 20px 10px 0; margin: 0px;}
    .paginator a {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;margin-right:2px}
    .paginator a:visited {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;}
    .paginator .cpb {padding: 1px 6px;font-weight: bold; font-size: 13px;border:none}
    .paginator a:hover {color: #fff; background: #ffa501;border-color:#ffa501;text-decoration: none;}
 
    /*迅雷风格*/
    .pages { color: #999 }
    .pages a, .pages .cpb { text-decoration:none;float: left; padding: 0 5px; border: 1px solid #ddd;background: #ffff;margin:0 2px; font-size:11px; color:#000;}
    .pages a:hover { background-color: #E61636; color:#fff;border:1px solid #E61636; text-decoration:none;}
    .pages .cpb { font-weight: bold; color: #fff; background: #E61636; border:1px solid #E61636;}
 
    .code{font-weight:bold;color:blue}
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
            <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>
        <webdiyer:AspNetPager ID="AspNetPager" runat="server" FirstPageText="首页"
            PrevPageText="上一页" LastPageText="尾页" NextPageText="下一页" 
            OnPageChanging="AspNetPager_PageChanged" CssClass="paginator" PageSize="5">
        </webdiyer:AspNetPager>
    </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_AspNetPager : System.Web.UI.Page
    {
        string sqlStr = ConfigurationManager.ConnectionStrings["MyDB"].ToString();//获得链接数据库的字符串
        protected void Page_Load(object sender, EventArgs e)
        {
            //第一次加载
            if (!IsPostBack)
            {
                ShowData();
            }
        }

        /// <summary>
        /// 得到满足条件的数据集合
        /// </summary>
        /// <returns>数据集合</returns>
        public DataSet GetData()
        {
            using (SqlConnection sqlConn = new SqlConnection(sqlStr))
            {
                string sqlqueryStr = "select * from tb_LeaveWord";
                SqlDataAdapter sda = new SqlDataAdapter(sqlqueryStr, sqlConn);
                DataSet ds = new DataSet();
                sda.Fill(ds);
                return ds;
            }
        }

        /// <summary>
        /// 显示数据
        /// </summary>
        public void ShowData()
        {
            DataSet ds = GetData();
            //分页类
            PagedDataSource pds = new PagedDataSource();
            pds.DataSource = ds.Tables[0].DefaultView;  //绑定数据源
            pds.AllowPaging = true;
            pds.PageSize = this.AspNetPager.PageSize;   //【注意点】设置每页的数量数,是组件Asp.NetPager的PageSize
            pds.CurrentPageIndex = this.AspNetPager.CurrentPageIndex - 1;

            //给第三方组件绑定总记录数和每页数量数
            this.AspNetPager.RecordCount = ds.Tables[0].Rows.Count;
            this.AspNetPager.PageSize = 5;

            //给数据展示组件绑定数据源【数据源是分页类】【注意点:不要把数据源绑定错了】
            GridView1.DataSource = pds;
            //绑定数据源和组件
            GridView1.DataBind();
        }

        /// <summary>
        /// 页码改变触发的事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void AspNetPager_PageChanged(object sender, Wuqi.Webdiyer.PageChangingEventArgs e)
        {
            AspNetPager.CurrentPageIndex = e.NewPageIndex;
            ShowData();
        }
    }
}

 

posted @ 2015-06-22 10:41  会编程的厨子  阅读(397)  评论(0编辑  收藏  举报