AspNetPager+GridView实现分页的实例代码

时间:2022-09-17 21:16:42

.框架是.NET Framework 4.0
.一共为三个部分: 前台页面设计代码、前台页面程序代码、css样式
.其中数据库连接操作用了DB类(连接语句),SQLHelper(微软的数据库操作类)
效果图:


前台页面设计代码

复制代码代码如下:


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TestWebSite.Default" %>

 

<%@ Register assembly="AspNetPager" namespace="Wuqi.Webdiyer" tagprefix="webdiyer" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <link href="Styles/Paging.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <form id="form1" runat="server">
    <div>

        <asp:GridView ID="GridView1" runat="server" Height="261px" Width="737px" 
            CellPadding="4" ForeColor="#333333" GridLines="None">
            <AlternatingRowStyle BackColor="White" />
            <EditRowStyle BackColor="#2461BF" />
            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <HeaderStyle HorizontalAlign="Left" BackColor="#507CD1" Font-Bold="True" 
                ForeColor="White" />
            <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
            <RowStyle BackColor="#EFF3FB" />
            <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
            <SortedAscendingCellStyle BackColor="#F5F7FB" />
            <SortedAscendingHeaderStyle BackColor="#6D95E1" />
            <SortedDescendingCellStyle BackColor="#E9EBEF" />
            <SortedDescendingHeaderStyle BackColor="#4870BE" />
        </asp:GridView>

    </div>
    <webdiyer:AspNetPager ID="AspNetPager1" runat="server" 
        onpagechanged="AspNetPager1_PageChanged" CssClass="anpager" 
        CurrentPageButtonClass="cpb" FirstPageText="首页" LastPageText="尾页" 
        NextPageText="后页" PrevPageText="前页">
    </webdiyer:AspNetPager>
    </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 TestWebSite.Utilities;
using System.Data;
using System.Data.SqlClient;
using Wuqi.Webdiyer;

 

namespace TestWebSite
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //调用绑定分页和GridView
                BindGridView();
            }
        }

        ////绑定分页和GridView方法
        private void BindGridView()
        {
            //查询语句
            string sequal = "select StandardName as 标准名称, MakeUpItem as 补偿项目, Unit as 单位," 
                + " cast(UnitPrice as decimal(18,2)) as 单价, cast(StandRate as decimal(18,2)) as "
                + "成新率, Type as 分类 from Standard";
            //获取数据表格
            DataTable dt = 
                SqlHelper.ExecuteDataset(DB.con, CommandType.Text, sequal).Tables[0];
            //初始化分页数据源实例
            PagedDataSource pds = new PagedDataSource();
            //设置总行数
            AspNetPager1.RecordCount = dt.Rows.Count;
            //设置分页的数据源
            pds.DataSource = dt.DefaultView;
            //设置当前页
            pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;
            //设置每页显示页数
            pds.PageSize = AspNetPager1.PageSize;
            //启用分页
            pds.AllowPaging = true;
            //设置GridView的数据源为分页数据源
            GridView1.DataSource = pds;
            //绑定GridView
            GridView1.DataBind();
        }

        protected void AspNetPager1_PageChanged(object sender, EventArgs e)
        {
            //调用绑定分页和GridView
            BindGridView();
        }
    }
}


 CSS样式

复制代码代码如下:

.anpager 

    font: 11px Arial, Helvetica, sans-serif;
    padding:10px 20px 10px 0; 
    margin: 0px;
}
.anpager a 
{
    padding: 1px 6px; 
    border: solid 1px #ddd; 
    background: #fff; 
    text-decoration: none;
    margin-right:2px
}
.anpager a:visited 
{
    padding: 1px 6px; 
    border: solid 1px #ddd; 
    background: #fff; 
    text-decoration: none;
}
.anpager .cpb 
{
    padding: 1px 6px;
    font-weight: bold; 
    font-size: 13px;
    border:none
}
.anpager a:hover 
{
    color: #fff; 
    background: #ffa501;
    border-color:#ffa501;
    text-decoration: none;
}

 

/* AspNetPager1属性设置: CssClass="anpager" CurrentPageButtonClass="cpb"*/