http://www.jb51.net/article/39677.htm

GridView分页的实现


要在GridView中加入
//实现分页
AllowPaging="true"
//一页数据10行
PageSize="10"
// 分页时触发的事件
OnPageIndexChanging="gvwDesignationName_PageIndexChanging"

在服务器事件里


protectedvoid gvwDesignationName_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvwDesignationName.PageIndex=e.newIndex;
bingDesignatioonName();
}

这里我给出一个通用显示分页的模板(网上搜的,自己给出注释)


<PagerTemplate>
当前第:
//((GridView)Container.NamingContainer)就是为了得到当前的控件
<asp:Label ID="LabelCurrentPage" runat="server" Text="<%# ((GridView)Container.NamingContainer).PageIndex + 1 %>"></asp:Label>
页/共:
//得到分页页面的总数
<asp:Label ID="LabelPageCount" runat="server" Text="<%# ((GridView)Container.NamingContainer).PageCount %>"></asp:Label>
页
//如果该分页是首分页,那么该连接就不会显示了.同时对应了自带识别的命令参数CommandArgument
<asp:LinkButton ID="LinkButtonFirstPage" runat="server" CommandArgument="First" CommandName="Page"
Visible='<%#((GridView)Container.NamingContainer).PageIndex != 0 %>'>首页</asp:LinkButton>
<asp:LinkButton ID="LinkButtonPreviousPage" runat="server" CommandArgument="Prev"
CommandName="Page" Visible='<%# ((GridView)Container.NamingContainer).PageIndex != 0 %>'>上一页</asp:LinkButton>
//如果该分页是尾页,那么该连接就不会显示了
<asp:LinkButton ID="LinkButtonNextPage" runat="server" CommandArgument="Next" CommandName="Page"
Visible='<%# ((GridView)Container.NamingContainer).PageIndex != ((GridView)Container.NamingContainer).PageCount - 1 %>'>下一页</asp:LinkButton>
<asp:LinkButton ID="LinkButtonLastPage" runat="server" CommandArgument="Last" CommandName="Page"
Visible='<%# ((GridView)Container.NamingContainer).PageIndex != ((GridView)Container.NamingContainer).PageCount - 1 %>'>尾页</asp:LinkButton>
转到第
<asp:TextBox ID="txtNewPageIndex" runat="server" Width="20px" Text='<%# ((GridView)Container.Parent.Parent).PageIndex + 1 %>' />页
//这里将CommandArgument即使点击该按钮e.newIndex 值为3
<asp:LinkButton ID="btnGo" runat="server" CausesValidation="False" CommandArgument="-2"
CommandName="Page" Text="GO" />
</PagerTemplate>

对应该事件中代码为


protected void gvwDesignationName_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
// 得到该控件
GridView theGrid = sender as GridView;
int newPageIndex = 0;
if (e.NewPageIndex==-3)
{
//点击了Go按钮
TextBox txtNewPageIndex = null;
//GridView较DataGrid提供了更多的API,获取分页块可以使用BottomPagerRow 或者TopPagerRow,当然还增加了HeaderRow和FooterRow
GridViewRow pagerRow = theGrid.BottomPagerRow;
if (pagerRow != null)
{
//得到text控件
txtNewPageIndex = pagerRow.FindControl("txtNewPageIndex") as TextBox;
}
if ( txtNewPageIndex!= null)
{
//得到索引
newPageIndex = int.Parse(txtNewPageIndex.Text) - 1;
}
}
else
{
//点击了其他的按钮
newPageIndex = e.NewPageIndex;
}
//防止新索引溢出
newPageIndex = newPageIndex < 0 ? 0 : newPageIndex;
newPageIndex = newPageIndex >= theGrid.PageCount ? theGrid.PageCount - 1 : newPageIndex;
//得到新的值
theGrid.PageIndex = newPageIndex;
//重新绑定
bingDesignatioonName();
}

GridView分页的实现以及自定义分页样式功能实例相关推荐

  1. 用Gridview和ObjectDataSource轻松实现自定义分页

     一.什么是自定义分页 自定义分页是与默认分页相对应的.默认分页指一次检索出所有数据并将其绑定到数据绑定控件中,虽然该控件只能一页一页显示这些数据,但是所有数据其实都已经被绑定到控件上了.自定义分页的 ...

  2. 在springboot中使用PageHelper(mybatis的分页插件) 以及自定义分页

    PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库, 例如mysql. oracle.mariaDB. DB2. SQLite.Hsqldb等. 本项目 ...

  3. html css分页特效,js css自定义分页效果

    网上看了好多分页插件都不太满意,所以根据网上的一些东西自己做了一个,可以搭配mvc和数据库 效果图片 先来css(样式不喜欢的话可以不用这个) .pagelist {padding:10px 0; t ...

  4. 如何使用XE2及更高版本中提供的自定义皮肤(样式)功能

    1. 制作样式文件: 点击 XE2+ 的 IDE 菜单上的 Tools-->Bitmap Style Designer, 打开设计器. 为每个需要的元素设计好图片或颜色或字体. 最重要的是, 要 ...

  5. ASP.NET 2.0在SQL Server 2005上自定义分页

    这篇文章讲述了如何利用SQL Server 2005的新特性来简单高效的实现分页.对于那些暂时还没用到SQL Server2005的人们,请看在大规模数据中的高效分页方法.如果需要,这篇文章会补上这里 ...

  6. ASP.NET 2.0数据教程之二十六::排序自定义分页数据

    导言 和默认翻页方式相比,自定义分页能提高几个数量级的效率.当我们的需要对大量数据分页的时候就需要考虑自定义分页,然而实现自定义分页相比默认分页需要做更多工作.对于排序自定义分页数据也是这样,在本教程 ...

  7. Django 分页组件替换自定义分页

    Django的分页器(paginator) 总之不太好用我们还是用自己的好一些 自定义分页器 分页实现源码 """ 自定义分页组件 """c ...

  8. mybatis常见分页技术和自定义分页原理实战

    文章目录 前言 mybatis简单了解 分页类型 分页方式 1.数组分页 2.数据库分页 3.Rowbounds分页 4.自定义插件分页 自定义分页原理 自定义分页实战 聊下第三方分页插件 pageH ...

  9. GridView自定义分页样式(上一页,下一页,到第几页)(新手教程)

    今天要为网站做一个文章列表,发现GridView的分页样式很难看,于是结合网上的例子,自己做了一个.不是很美观,不过还是很实用的,先看下效果吧,如图(1).演示地址http://www.veryam. ...

最新文章

  1. 承德计算机专业去哪考试,2021河北省考承德都在哪个学校考试?
  2. SDL2源代码分析8:视频显示总结
  3. 【干货】你不知道的 Linux 命令使用技巧
  4. for循环执行 mybatis_mybatis sql循环的使用
  5. git 使用writer_GitHub - Vpredictor/WriterFly: [QT/C++] 写作天下,为作家创造世界而生,执云作笔,诉尽平生意。...
  6. (2/2)Canvas的交互存为图片-爬坑篇
  7. .Net消息队列学习(一)
  8. 计算机组装策划案,产品策划书格式
  9. MiniGUI编程--静态框[转]
  10. 前端开发需要掌握什么技术,成为一个高薪的web前端程序员很难吗?
  11. jsp页面科学计数法显示问题的解决办法
  12. SQL Server2008数据库置疑修复办法
  13. 华为笔记本没有HOME键和END键
  14. 【C++】虚表与虚表指针,虚基类表与虚基类表指针
  15. linux最新flash+player,Linux版Flash Player正式回归
  16. java互联网架构,大数据学习笔记1--------Python入门个人笔记,仅记录个人觉得需要记得东西)
  17. 随手记提交自查报告,随手记理财靠谱性再进一步!
  18. 中国电信物联网发展研究中心与华为战略合作协议
  19. 2022年全球市场脱脂小麦胚芽粉总体规模、主要生产商、主要地区、产品和应用细分研究报告
  20. skynet框架应用 (一) skynet介绍

热门文章

  1. Android App开发实战项目之购物车(附源码 超详细必看)
  2. micropython 离线语音识别_百度语音识别.pdf
  3. 下面对C语言的特点说法不正确的是,C语言程序设计基础试题及答案
  4. opencv4.3.0 Cmake后debug模式生成不了opencv_world430d.lib
  5. SFTP文件上传、下载
  6. Python定时任务框架APScheduler快速入门
  7. 广数25i系统倒刀回刀m代码_基于广数GSK25i数控系统伺服刀库的控制
  8. 【RASA】TED Policy:Dialogue Transformers
  9. linux生成ssl证书
  10. 完美解决Pytorch在Pycharm没有代码提示的问题