AspNetPager+GridView真分页的实现

1.net框架的話是 Framework 4.0

2.项目类型是一个报表查询的Web页面,架构是标准的三层架构

3.数据库链接的话用了SqlHelper助手类,ps:这个网上可以搜到很多,随便搞一个

一.先在网上下载一个AspNetPager的组件包,地址:http://www.webdiyer.com/aspnetpager/,下载下来之后在路径AspNetPagerCN-7.5.1\Demo\Bin下有一个AspNetPager.dll,把这个dll文件引用到项目中,再在后台引用一个命名空间,using Wuqi.Webdiyer;这样引用就完成了

二.前台页面

ASP.NET控件那一栏,拉倒最下面,右键第三个选项添加AspNetPager控件,添加完成后,先拉取gridview控件,再在gridview控件下面拉一个AspNetPager控件,设置AspNetPager控件的样式,前台代码如下:

<asp:GridView ID="GridView1" runat="server" Height="300px" Width="548px" CellPadding="0"
                        ForeColor="#333333"
                        onpageindexchanged="GridView1_PageIndexChanged" CaptionAlign="Right" 
                        HorizontalAlign="Center" CssClass="gridView_th">
                        <AlternatingRowStyle BackColor="White"/>
                        <EditRowStyle BackColor="red" />
                        <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                        <HeaderStyle BackColor="#507CD1" Font-Bold="True" 
                            ForeColor="White" HorizontalAlign="Center"/>
                        <PagerStyle BackColor="#2461BF" ForeColor="White"/>
                        <RowStyle BackColor="#EFF3FB" HorizontalAlign="Center" />
                        <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                        <SortedAscendingCellStyle BackColor="#F5F7FB" />
                        <SortedAscendingHeaderStyle BackColor="#6D95E1" />
                        <SortedDescendingCellStyle BackColor="#E9EBEF" />
                        <SortedDescendingHeaderStyle BackColor="#4870BE" />
                    </asp:GridView>
                    <webdiyer:AspNetPager ID="AspNetPager1" runat="server" CssClass="anpager" 
                        CurrentPageButtonClass="cpb" FirstPageText="首页" LastPageText="尾页" 
                        NextPageText="下一页" PrevPageText="上一页" SubmitButtonText="Go" 
                        TextAfterPageIndexBox="页" TextBeforePageIndexBox="转到">
                    </webdiyer:AspNetPager>

样式代码:

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"*/

三.后台代码

数据绑定核心代码: 

分页查询的核心是一次查询一部分数据,因此查询语句要选择查询前多少条数据,然后再查询总条数并返回,根据当前页数进行数据查询

DataTable DT = (DataTable)Session["dsData"];
                PagedDataSource pds = new PagedDataSource();
                //设置总行数
                AspNetPager1.RecordCount = (int)Count;
                //设置分页的数据源
                pds.DataSource = DT.DefaultView;
                //设置当前页
                pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;
                //设置每页显示页数
                pds.PageSize = AspNetPager1.PageSize;
                //启用分页
                pds.AllowPaging = true;
             

页面加载事件代码:

        protected void Page_Load(object sender, EventArgs e)
        {
            this.AspNetPager1.PageSize = 30;
            if (!IsPostBack)
            {
                BindGridview();
            }
        }

 AspNetPager的PageChanged事件中添加如下代码

protected void AspNetPager1_PageChanged(object sender, EventArgs e)
        {
            BindGridview();
        }

效果图:

这样一个基于AspNetPager+GridView真分页就实现了

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值