GridView控件实现分页技术

第一步:设置GridView控件的属性,跟分页相关的属性设置如下:

AllowPaging="true":允许分页, PageSize="大小":每一页显示的信息条数,

OnPageIndexChanging="GridView1_PageIndexChanging":页数改变时触发的事件。

第二步:设置GridView控件的PagerTemplate页模板属性。PageTemplate是用来获取或设置 GridView 控件中页导航行的自定义内容。代码实现如下:

 <PagerTemplate>

 <table width="100%">

    <tr>

       <td style="text-align: center">

            第<asp:Label  ID="lblPageIndex"  runat="server"

           Text="<%#((GridView)Container.Parent.Parent).PageIndex + 1 %>" ></asp:Label>页

          共<asp:Label  ID="lblPageCount"  runat="server" Text="<%# ((GridView)Container.Parent.Parent).PageCount %>"></asp:Label>页

           <asp:LinkButton ID="btnFirst" runat="server" CausesValidation="False" CommandArgument="First"
CommandName="Page" Text="首页"></asp:LinkButton> <asp:LinkButton ID="btnPrev" runat="server"
CausesValidation="False" CommandArgument="Prev"
CommandName="Page" Text="上一页"></asp:LinkButton> <asp:LinkButton ID="btnNext" runat="server"
CausesValidation="False" CommandArgument="Next"
CommandName="Page" Text="下一页"></asp:LinkButton> <asp:LinkButton ID="btnLast" runat="server"
CausesValidation="False" CommandArgument="Last"
CommandName="Page" Text="尾页"></asp:LinkButton> <asp:TextBox ID="txtNewPageIndex" runat="server"
Text="<%# ((GridView)Container.Parent.Parent).PageIndex + 1%>" Width="20px"></asp:TextBox> <asp:LinkButton ID="btnGo" runat="server" CausesValidation="False" CommandArgument="-1" CommandName="Page" Text="GO"></asp:LinkButton> </td> </tr> </table> </PagerTemplate>

((GridView)Container.Parent.Parent).PageIndex + 1获取当前控件显示的页面数;((GridView)Container.Parent.Parent).PageCount获取当前控件总的页面数;CausesValidation设置按钮提交时不执行验证;CommandArgument设置与关联的 CommandName 属性一起传递到 Command 事件处理程序的可选参数;CommandName设置命令名,该命令名与传递给 Command 事件的 Button 控件相关联。

第三步:后台GridView1_PageIndexChanging事件的实现,代码如下:

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
//通过类型转换得到当前的gridview控件
GridView gvw = (GridView)sender; if (e.NewPageIndex < 0)
{
TextBox PageNum = (TextBox)GridView1.BottomPagerRow.FindControl("txtNewPageIndex"); int Pa = int.Parse(PageNum.Text); if (Pa <= 0)//如果前往分页的index小于或等于0则转向0
{
gvw.PageIndex = 0;
}
else
{
gvw.PageIndex = Pa - 1;
}
}
else
{
gvw.PageIndex = e.NewPageIndex;
} bind();//自定义的GridView控件绑定数据函数
}

  *小弟个人拙见,各位仁兄有更好的方法请多多指教。

分页技术之GridView控件的更多相关文章

  1. 数据绑定技术一:GridView控件

    在网站或应用程序中,要显示数据信息,可用到ASP.NET提供的数据源控件和能够显示数据的控件. 一.数据源控件 数据源控件用于连接数据源.从数据源中读取数据以及把数据写入数据源. 1.数据源控件特点 ...

  2. Repeater, DataList, 和GridView控件的区别

    http://blog.sina.com.cn/s/blog_646dc75c0100h5p6.html http://www.cnblogs.com/phone/archive/2010/09/15 ...

  3. GridView控件

    GridView是ASP.NET 1.x的DataGrid控件的后继者.它提供了同样的基本功能集,同一时候添加�了大量扩展和改进.如前所述,DataGrid(ASP.NET 2.0仍然全然支持)是一个 ...

  4. GridView控件中加自动排列序号

    GridView控件中加自动排列序号 为 Gridview 增加一个新的空白列,如下: <asp:BoundField  HeaderText="序号">    < ...

  5. GRIDVIEW 控件

    http://www.cnblogs.com/shanymen/archive/2009/05/22/1486654.html GridView控件是.net里的一个显示数据控件,该控件制作很人性化, ...

  6. 027. asp.net中数据绑定控件之 GridView控件

    GridView控件支持下面的功能: 绑定至数据源控件, 如SqlDataSource 内置排序功能 内置更新和删除功能 内置分页功能 内置行选择功能 可以编程方式访问GridView对象模型以动态设 ...

  7. GridView控件的属性、事件

    GridView控件的属性 属性 描述 AllowPaging 指示该控件是否支持分页. AllowSorting 指示该控件是否支持排序. AutoGenerateColumns 指示是否自动地为数 ...

  8. ASP.NET编辑与更新数据(非GridView控件实现)

    Insus.NET在实现<ASP.NET开发,从二层至三层,至面向对象 (5)>http://www.cnblogs.com/insus/p/3880606.html 中,没有把数据编辑与 ...

  9. C#操作GridView控件

    GridView控件是一个visualStudio自带的数据控件,它可以非常快速的将数据以表格方式显示在web页面上.下面就是一个利用GridView控件进行数据绑定的小例子,内容如下: 数据来源自一 ...

随机推荐

  1. 如何用extjs显示一个已经存在的页面

    最近碰到了一个需求: 画面上有个按钮,点击了按钮之后,弹出一个窗体(window),而该窗体(window)上显示的内容是某个系统的内容,如下图所示 查了好长时间的extjs的帮助文档,没有找个现成的 ...

  2. [BZOJ 1066] [SCOI2007] 蜥蜴 【最大流】

    题目链接:BZOJ - 1066 题目分析 题目限制了高度为 x 的石柱最多可以有 x 只蜥蜴从上面跳起,那么就可以用网络流中的边的容量来限制.我们把每个石柱看作一个点,每个点拆成 i1, i2,从 ...

  3. Pair of Numbers

    Codeforces Round #209 (Div. 2) D:http://codeforces.com/contest/359/problem/D 题意:给以一个n个数的序列,然后问你最大的区间 ...

  4. Qt中暂停线程的执行(利用QMutex,超级简单明了)

    在线程中定义一个信号量: QMutex pause;把run()函数中循环执行的部分用信号量pause锁住: void run() { while(1) { pause.lock(); //循环执行的 ...

  5. Java native(转)

    Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能. 可以将 ...

  6. 【HDOJ】3242 List Operations

    注意以下数据:[] ++ [][] -- [1,2][1,2] ++ [][] ++ [1][2] ++ [][2,3] -- []结果是[][][1,2][1][2][2,3] /* 3242 */ ...

  7. nginx 1.3.9/1.4.0 x86 Brute Force Remote Exploit

    测试方法: 本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! #nginx 1.3.9/1.4.0 x86 brute force remote exploit # copyri ...

  8. Elasticsearch教程之基础概念

    基础概念 Elasticsearch有几个核心概念.从一开始理解这些概念会对整个学习过程有莫大的帮助. 1.接近实时(NRT)        Elasticsearch是一个接近实时的搜索平台.这意味 ...

  9. Introduction to Glide, Image Loader Library for Android, recommended by Google

    In the passed Google Developer Summit Thailand, Google introduced us an Image Loader Library for And ...

  10. HAProxy、Nginx 配置 HTTP/2 完整指南

    基于最近对HTTP/2的争论和它的优势,是时候升级底层架构了.这篇文章将会介绍如何在安装和配置HAProxy和Ngnix(使用ssl终端).为了简化流程,我建议你准备好使用Docker镜像. 如果你想 ...