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. Application路径

    根目录:StreamingAssets文件夹 #if UNITY_EDITOR string filepath = Application.dataPath +"/StreamingAsse ...

  2. cf B Inna and Candy Boxes

    题意:输入n,然后输入n个数ai,再输入n个数bi,如果在1-ai中能找到两个数x,y,x和y可以相等,如果x+y=bi,答案加上x*y,否则减去1,让结果尽可能大,输出结果. #include &l ...

  3. cf B Bear and Strings

    题意:给你一个字符串,然后找多少区间内含有“bear”,输出数目: #include <cstdio> #include <cstring> #include <algo ...

  4. 【调侃】IOC前世今生(转)

    前些天,参与了公司内部小组的一次技术交流,主要是针对<IOC与AOP>,本着学而时习之的态度及积极分享的精神,我就结合一个小故事来初浅地剖析一下我眼中的“IOC前世今生”,以方便初学者能更 ...

  5. scheme和common lisp 区别

    Scheme and Common Lisp use different names for some of the basic system functions. Many Lisp program ...

  6. Android Studio导入Eclipse项目

    随着Google 对新Android编辑器Android Studio(以下简称AS)的版本不断更新,越来越多的人开始由熟悉的编辑器Eclipse转向AS,而Eclipse开发团队也坦言将放弃对Ecl ...

  7. Delphi 生成excel中的饼图

    生成excel中的饼图 var i,j,m,n,count1:integer; str:string; Jdate:tdatetime; channellist,potBstrtime,potEstr ...

  8. Apache-Tika解析XML文档

    通常在使用爬虫时,爬取到网上的文章都是各式各样的格式处理起来比较麻烦,这里我们使用Apache-Tika来处理XML格式的文章,如下: package com.mengyao.tika.app; im ...

  9. XDocument和XmlDocument的区别

    刚开始使用Xml的时候,没有注意到XDocument和XmlDocument的区别,后来发现两者还是有一些不同的. XDocument和XmlDocument都可以用来操作XML文档,XDocumen ...

  10. MySQL删除重复记录的方法

    参考网上的方法,总结了产出重复记录的方法,欢迎交流. 参考:http://www.cnblogs.com/nzbbody/p/4470638.html 方法1:创建一个新表临时储存数据 假设我们有一个 ...