GridView分页的实现

GridView分页的实现要在 GridView 中加入 实现分页 AllowPaging true 一页数据 10 行 PageSize 10 分页时触发的事件 OnPageIndexC gvwDesignati PageIndexCha 在服务器事件里 protectedvoi PageIndexCha objectsender GridViewPage gvwDe

要在GridView中加入

//实现分页

AllowPaging=“true”

//一页数据10行

PageSize=“10”

在服务器事件里

protected void 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(); } 

原文链接:https://www.cnblogs.com/couhujia/archive/2009/10/28/1590897.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208968.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午10:21
下一篇 2026年3月19日 上午10:21


相关推荐

  • linux部署OpenClaw

    linux部署OpenClaw

    2026年3月13日
    2
  • Linux route命令

    Linux route命令一、route命令route命令用来显示并设置Linux内核中的网络路由表,route命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的ip地址设置为Linux机…

    2022年7月18日
    22
  • E-R图向关系模型的转换_简述ER模型

    E-R图向关系模型的转换_简述ER模型1.实例1:将教学管理ER图转换为关系模式(1)把三个实体类型转换成三个模式:   ①系(系编号,系名,电话)   ②教师(教工号,姓名,性别,职称)   ③课程(课程号,课程名,学分)(2)对于1:1联系“主管”,可以在“系”模式中加入教工号(教工号为外键)。对于1:N联系“聘任”,可以在“教师”模式中加入系编号(系编号为外键)。对于1:N联系“开设”,可以在“课程”模式中加入系编号…

    2025年6月12日
    4
  • STM32中IIC协议[通俗易懂]

    IIC协议:接收器和发送器:物理层:SCL–时钟总线SDA–数据总线开始条件:SCL高电平,SDA由高变低停止条件:SCL高电平,SDA由低变高主机:用来产生SCL(发送数据和接收数据)从机:(发送数据和接收数据)总线空闲态:SDA为高电平(没有设备发送开始条件)写:1.主机发送开始条件2.发送从机地址(7位)+写

    2022年4月14日
    53
  • Pycharm十大常用快捷键

    Pycharm十大常用快捷键咱们写 Python 代码 至少得有一半是用 Pycharm 吧 这种傻瓜式的 IDE 学习成本低 不像 VIM 拿到手摸不着头脑 如果想让工具发挥出极致的效率 快捷键操作是必不可少的 有时候你敲几行代码 点几下鼠标 别人只要一个组合快捷键就能搞定 不仅姿势看起来帅 而且能达到事半功倍的效果 Pycharm 中常用的快捷键其实没那么多 10 个就足够啦 能满足日常 90 的需求 这就推荐给大家 Alt Enter 可以帮你快速修复当前的代码 例如 你如果引用了一个还没 import 进来的模块对象 你只要将鼠标移到当前有问题

    2026年3月18日
    1
  • 登录页面的代码

    登录页面的代码开发工具与关键技术:MVC/JavaScript作者:邱慧敏撰写时间:2019/06/25在把页面和数据库做好之后,我的登录页面只需要用户名和密码,所以代码比较简单。先找到登录按钮,给一个点击事件,然后再获取他们的表单值,然后对用户名和密码进行判断,判断是否填写了资料和是否是正确的账户和密码,在这之前还要检查登录页面是否是属于外层页面。dataValidationFo…

    2022年4月4日
    58

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号