GridView控件自定义分页详解

ASP.NET GridView控件分页功能实现示例 本文还有配套的精品资源,点击获取 简介:在.NET框架的ASP.NET Web Forms项目中,使用GridView控件展示大量数据集时,实现分页功能是提高用户体验和加载效率的重要手段。本示例将指导如何通过简单配置和事件处理实现高效分页,包括设置分页控件、绑定数据源、自定义分页样式以及响应翻页事件。示例还提供了可下载的文件包,包含完整的源代码和配置,帮助开发者深入理解Gr... 阅读详情
在这里我们将用一个隐藏字段来保存这个PageIndex,即当前页码.当点击上一页时,将它的值减一,知道为0,要注意的一点这里的第一页页码是0而不是1.下面看看代码,然后我们再分析分析!
 1<asp:GridView runat="server" AutoGenerateColumns="False" AllowPaging="false" Width="100%">
 2            <Columns>
 3                <asp:BoundField DataField="NewsId" HeaderText="新闻ID"/>
 4                <asp:HyperLinkField DataNavigateUrlFields="NewsId" DataNavigateUrlFormatString="~/Details.aspx?ID={0}"
 5                    DataTextField="Title" HeaderText="新闻标题"  ItemStyle-Width="70%"/>
 6                <asp:BoundField DataField="PostTime" HeaderText="发布时间"/>
 7                <asp:CommandField HeaderText="新闻管理" ShowCancelButton="False" ShowDeleteButton="True"
 8                    ShowEditButton="True"/>
 9            </Columns>
10        </asp:GridView>
11        <div style=" height:16px; padding-top:5px; margin-right:30px; float:right">
12        <asp:HiddenField runat="server" Value="0"/>
13        <asp:LinkButton runat="server" CommandArgument="first" >首 页</asp:LinkButton>
14        <asp:LinkButton runat="server" CommandArgument="prev" >上一页</asp:LinkButton>
15        <asp:LinkButton runat="server" CommandArgument="next" >下一页</asp:LinkButton>
16        <asp:LinkButton runat="server" CommandArgument="last" >尾 页</asp:LinkButton>
17        </div>  CS文件中的代码:
 1        protected void PagerButton_Click(object sender, EventArgs e)
 2        {
 3            int pageIndx = Convert.ToInt32(CurrentPage.Value);
 4            int totals = NewsManager.GetNews(0, pageSize).TotalRecords;
 5            int pages = (totals % pageSize) == 0 ? (totals / pageSize) : (totals / pageSize + 1);
 6            string arg = ((LinkButton)sender).CommandArgument.ToString().ToLower();
 7            switch (arg)
 8            {
 9                case "prev":
10                    if (pageIndx > 0)
11                    {
12                        pageIndx -= 1;
13                    }
14                    break;
15                case "next":
16                    if (pageIndx < pages - 1)
17                    {
18                        pageIndx += 1;
19                    }
20                    break;
21                case "last":
22                    pageIndx = pages - 1;
23                    break;
24                default:
25                    pageIndx = 0;
26                    break;
27            }
28            CurrentPage.Value = pageIndx.ToString();
29            NewsGrid.DataSource = NewsManager.GetNews(pageIndx , pageSize).Entities;
30            NewsGrid.DataBind();
31        } 



用下拉列表控制gridview的分页
思路很简单,如果将 装载下拉列表的循环放到load事件中,那么是肯定读不出gridview总页码的!

先考虑页面以及控件的执行顺序我们就能发现,load事件是发生最前面,其次读取数据库,然后绑定给GridView,在绑定的过程中又有先按照控件分页的相关限制得到页码!!

所以,我们可以知道,分页肯定应该是在GridView的数据被绑定之后才发生!!

说到这里我想应该是知道了,这个装载下拉列表的事件肯定是应该发生在GridView1_DataBound事件中的了!

代码没什么技术含量,很简单!!如下:
把 if (!IsPostBack) 这一句换成

DropDownList1.DropDownList1.Items.Clear();
也可以!
    protected void GridView1_DataBound(object sender, EventArgs e)
    {
        
if (!IsPostBack)
        {
//判断页是否第一次载入,如果你想知道为什么,恰恰我又不想解释,那你去掉这个试下即可
            for (int i = 1; i <= GridView1.PageCount; i++)
            {
//从1开始循环到页的最大数量
                DropDownList1.Items.Add(i.ToString());//填充到下拉列表
            }
        }
    }
    
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        GridView1.PageIndex 
= Convert.ToInt32(DropDownList1.SelectedValue)-1;
        
//因为页码其实是从0开始的,而我们为了看起来直观,所以从1开始,这样来说我们就必须减1才是真实的页码
    }
 
GridView控件的排序、分页、编辑功能实现实例 GridView控件的排序、分页、编辑等功能的实现实例。 立即下载

相关推荐

DX gridcontrol分页

一个gridcontrol分页的小例子。版权属其作者所要。

ASP.NET的GridView单击分页按钮,程序报错

首先,没有使用SqlDataSource数据源控件,而是直接通过代码为GridView绑定数据的。那么直接造成运行时点击分页按钮报错,目前我知道的原因有两个:①报PageIndexChanging这种错误②报字符串格式错误 首先第一个报错:理论上通过绑定SqlDataSource数据源控件分页时不会报错,但是通过代码绑定的就有问题了,解决方法如下: protected void GV_dpt_PageIndexChanging(object sender, GridViewPageEventArgs e

qq_45917176的博客 353

国内9大Coding Plan平台实测:CI/CD延迟与开发者体验横评

代码托管平台不仅是Git仓库,更是现代研发流程的‘生产力基建’核心。其底层能力涵盖Git协议优化、CI/CD调度实时性、制品库并发吞吐及RBAC权限收敛效率等关键维度。尤其在团队规模扩张、日均提交激增、多环境高频部署场景下,Webhook延迟、CI排队耗时、制品上传卡顿等应用层性能指标,远比网络层ping值更能决定开发效能。本文基于真实微服务项目(32模块、8.7万行/仓)与三类极端负载(长尾构建、热区冲突、制品洪峰),对国内9个满足Coding Plan标准的平台开展端到端压测,聚焦CI/CD延迟与开发者

weixin_29281941的博客 367

asp.net DataGrid GridView 表格之分页显示与翻页功能及自定义翻页页码样式

一、实现分页功能 GridView实现分页只需要在属性框中将AllowPaging(是否在GridView中打开分页功能)设置为true即可 有时打开分页后不显示页码 确保AllowCustomPaging(是否打开对自定义分页的支持)为False即可 二、实现翻页功能 如何点击页码实现翻页呢? 在属性框中事件选择设置PageIndexChanging(在Grid...

weixin_34177064的博客 439

YOLOv5添加注意力机制的具体步骤

本文主要介绍了 本文在此篇博客的基础上向YOLOv5-5.0版 本文主要包括以下内容一、CBAM注意力机制添加(1)修改yolov5s主干网络(2)在common.py中添加可调用的CBAM模块(3)向yolo.py文件添加CBAMC3判断语句二、SE注意力机制添加 本文以yolov5s网络为例 一、CBAM注意力机制添加 注意力机制可以添加在backbone,Neck,Head等部分,接下来本文以backbone主干网络为例 (1)修改yolov5s主干网络 1.在yolov5-5.0工程文件夹下,找到m

thy0000的博客 2万+

多雷达协同探测技术研究进展:认知跟踪与资源调度算法

源自:雷达学报作者:易伟 袁野 刘光宏 葛建军 孔令讲 杨建宇雷达是信息感知的千里眼,具有极高的军用和民用价值,广泛应用在防空预警、遥感测绘、反恐维稳等领域[1–5]。雷达信息获取与探测技术也一直是大国竞相抢占的前沿技术,同时是信息科学的重要组成部分。随着科学技术不断进步,先进电子对抗装备的不断问世和广泛列装,雷达的生存与发展正面临日益严峻的挑战。从生存环境上看,雷达面临通信等各类民用电磁干扰以及复杂的军用电磁干扰;从探测对象上看,集群、微弱、隐身、高空、低空等多样化目标的出现也给雷达探测与识别带来困难。

renhongxia1的博客 2782

GridView和Repeater自定义分页功能的实现

1、GridView自定义分页前台核心代码: GridView.aspx ... "> " CommandName="Page" CommandArgument="First">

d_hongran的专栏 647

YOLO26科研升级:OREPA在线重参数化,让模型精度在训练中持续跃升

在目录下,新建AddModules文件夹,将orepa.py放入其中。

LXY_LOVE36的博客 98

Gridview实现分页

Gridview实现分页

WzhCsdnd的博客 1161

自助结账商品检测(Scanned Item Detection)——基于YOLOv8的RPC数据集实战

RPC数据集是由中国科学院自动化研究所发布的零售商品结账检测公开数据集,广泛用于自助结账和零售场景下的目标检测与识别。YOLOv8是YOLO系列最新版本,由Ultralytics推出,继承了YOLO家族的高效快速和高准确性,适用于实时检测场景。本文系统介绍了基于YOLOv8的RPC数据集自助结账商品检测方案,涵盖数据准备、训练、推理及UI界面设计。未来,可结合多模态感知、RFID融合技术,打造更加智能和稳定的自助结账系统。

YOLO 248

Python OpenCV教程从入门到精通的全面指南【文末送书】

全书共分为16章,包括Python与OpenCV、搭建开发环境、图像处理的基本操作、像素的操作、色彩空间与通道、绘制图形和文字、图像的几何变换、图像的阈值处理、图像的运算、模板匹配、滤波器、腐蚀与膨胀、图形检测、视频处理、人脸检测和人脸识别以及MR智能视频打卡系统。主流技术,全面覆盖:本书内容丰富,涵盖了Open CV图像处理技术的方方面面,如图像的几何变换、阈值处理、图像运算、模板匹配、滤波器、腐蚀与膨胀、图形检测、视频处理、人脸检测和人脸识别等。此外,通过对比原图,可更直观地看到图像经过处理后的效果。

一键难忘的博客 9071

ASP.Net中Gridview设置分页

GridView分页

weixin_44171249的博客 1470

基于SSD2828和STM32的MIPI显示屏驱动系统设计与实现

在硬件层面,需要将STM32、SSD2828和MIPI显示屏连接起来。STM32与SSD2828的连接:通过SPI接口连接STM32和SSD2828,用于配置和控制SSD2828。SSD2828与MIPI显示屏的连接:通过MIPI DSI接口连接SSD2828和MIPI显示屏,用于传输显示数据。

qq_38334677的博客 7143

ASP.NET技巧:GridView控件自定义分页详解

ASP.NET技巧:GridView控件自定义分页详解 在这里我们将用一个隐藏字段来保存这个PageIndex,即当前页码.当点击上一页时,将它的值减一,知道为0,要注意的一点这里的第一页页码是0而不是1.下面看看代码,然后我们再分析分析! 1&lt;asp:GridView ID="NewsGrid" runat="se...

一个80后IT之路 588

基于 ESP32 的宿舍洗浴热水余量预测与智能排队提醒系统设计与实现

本系统以 ESP32 为主控核心,通过超声波液位传感器实时监测储热水箱剩余水量,配合 DS18B20 温度传感器采集水温数据,建立热水余量预测模型估算可用洗浴时长;同时通过红外人体传感器统计浴室排队人数,结合人均洗浴时长计算预计等待时间,并通过 OLED 屏本地显示 + WiFi Web 服务器远程推送的方式实现排队提醒功能。

weixin_42300449的博客 45

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

转载GridView控件自定义分页详解

前些天我写了关于 <<在存储过程中实现分页>>和<<GridView控件事件详解 >> ,后来又有一些人问我怎样在GridView中应用这个东东!其实很简单,主要是怎么保存当前页面的页码PageIndex问题,不过把这个解决了什么都 好办了.因为在分页过程中:PageSize是一定的,我们可以用一个属性来表示.保存PageIndex好多中方法,而且数...

weixin_30840573的博客 86

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ASP.NET技巧:GridView控件自定义分页详解第三页

ASP.NET技巧:GridView控件自定义分页详解日期:2007年9月11日 作者: 查看:[大字体 中字体 小字体] <!--google_ad_client = "pub-0692289505803928";google_ad_width = 300;googl

放飞梦想 404

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

ASP.NET技巧:GridView控件自定义分页详解第一页

ASP.NET技巧:GridView控件自定义分页详解日期:2007年9月11日 作者: 查看:[大字体 中字体 小字体] <!--google_ad_client = "pub-0692289505803928";google_ad_width = 300;goog

放飞梦想 648

ASP.NET技巧:GridView控件自定义分页详解第二页

ASP.NET技巧:GridView控件自定义分页详解日期:2007年9月11日 作者: 查看:[大字体 中字体 小字体] <!--google_ad_client = "pub-0692289505803928";google_ad_width = 300;googl

放飞梦想 559

GridView控件实现分页功能

初识ASP.NET中的控件,还是折腾了一小会儿,就把我折腾的结果给大家看看: 表格显示数据时网站开发中的一个常见的功能,ASP.NET提供了很多工具在网页中显示表格,GridView控件就是最常见的一个,下面说说如何实现这个控件的分页功能。         首先我在数据库中建好了一张表,里面输入了一些学生的信息,数据表是这样的:         下面我们将数据库中的数据导入到Gr

王伯仙的博客 4万+

GridView控件详解

C#中GridView控件的属性

HYj3273254693的博客 6976
上一篇: VS2005的打包
下一篇: ASP.Net2.0 GridView 多列排序,显示排序图标,分页
Alexantao
博客等级 码龄19年 86粉丝 185原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值