`
无恨星晨
  • 浏览: 30962 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
文章分类
社区版块
存档分类
最新评论

在 Gridview 分页上添加“上一页,下一页,共X页”等信息

 
阅读更多
原理比较简单,


就是利用GridView 在RowCreated事件上做个手脚,


当if (e.Row.RowType == DataControlRowType.Pager) 时


加入几个Button 和Label 之后再给他们写个事件就ok了


当然我觉得最有意思的就是最后的pager里面的对象嵌套。。。


拉出来一句


e.Row.Controls[0].Controls[0].Controls[0].Controls[0].Controls.AddAt(0, (Button_IndexFirst));


其中各个对象的含义,这里只做个参考给大家

Pannel对象->Table对象->TableRow对象->TableCell对象    恩 貌似是这样的。


雕虫小技,以博众高手一笑


以下是代码


//注意:GridView 必须开启分页功能,并启用RowCreated 事件


C#

protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
    #region 翻页绑定
    if (e.Row.RowType == DataControlRowType.Pager)
     {
         Label label_Index = new Label();
         LinkButton Button_IndexFirst = new LinkButton();
         LinkButton Button_IndexLast = new LinkButton();
         LinkButton Button_IndexNext = new LinkButton();
         LinkButton Button_IndexPrevious = new LinkButton();

         Button_IndexFirst.Text = "第一页 ";
         Button_IndexFirst.CommandName = "first";
         Button_IndexFirst.ForeColor = Color.White;
         Button_IndexFirst.Click +=new EventHandler(PageButtonClick);

         Button_IndexNext.Text = "   下一页 ";
         Button_IndexNext.CommandName = "next";
         Button_IndexNext.ForeColor = Color.White;
           
         Button_IndexNext.Click += new EventHandler(PageButtonClick);

         Button_IndexPrevious.Text = "前一页 ";
         Button_IndexPrevious.CommandName = "previous";
         Button_IndexPrevious.ForeColor = Color.White;
         Button_IndexPrevious.Click += new EventHandler(PageButtonClick);

         Button_IndexLast.Text = "最末页 ";
         Button_IndexLast.CommandName = "last";
         Button_IndexLast.ForeColor = Color.White;
         Button_IndexLast.Click += new EventHandler(PageButtonClick);
           
         label_Index.Text ="当前为第" + (GridView1.PageIndex + 1) + "页,共有"+((GridView)sender).PageCount+"页";
         e.Row.Controls[0].Controls[0].Controls[0].Controls[0].Controls.AddAt(0, (Button_IndexFirst));
         e.Row.Controls[0].Controls[0].Controls[0].Controls[0].Controls.AddAt(1, (Button_IndexPrevious));

        int controlTmp = e.Row.Controls[0].Controls[0].Controls[0].Controls.Count-1;
         e.Row.Controls[0].Controls[0].Controls[0].Controls[controlTmp].Controls.Add(Button_IndexNext);
         e.Row.Controls[0].Controls[0].Controls[0].Controls[controlTmp].Controls.Add(Button_IndexLast);

         e.Row.Controls[0].Controls[0].Controls[0].Controls[controlTmp].Controls.Add(label_Index);

        //e.Row.Controls[0].Controls.Add(label_Index);
     }
    #endregion
}


protected void PageButtonClick(object sender, EventArgs e)
{
     LinkButton clickedButton = ((LinkButton)sender);
    if (clickedButton.CommandName == "first")
     {
         GridView1.PageIndex = 0;
     }
    else if (clickedButton.CommandName == "next")
     {
        if (GridView1.PageIndex < GridView1.PageCount - 1)
         {
             GridView1.PageIndex += 1;
         }
     }
    else if (clickedButton.CommandName == "previous")
     {
        if (GridView1.PageIndex >= 1)
         {
             GridView1.PageIndex -= 1;
         }
     }
    else if (clickedButton.CommandName == "last")
     {
         GridView1.PageIndex = GridView1.PageCount - 1;
     }
}
分享到:
评论

相关推荐

    【ASP.NET编程知识】asp.net gridview分页:第一页 下一页 1 2 3 4 上一页 最末页.docx

    【ASP.NET编程知识】asp.net gridview分页:第一页 下一页 1 2 3 4 上一页 最末页.docx

    Gridview分页

    实现gridview分页,上一页,下一页,首页,尾页,go到指定页,使用sql server数据库

    asp.net gridview分页:第一页 下一页 1 2 3 4 上一页 最末页

    主要介绍了asp.net gridview分页:第一页 下一页 1 2 3 4 上一页 最末页,可使用上下键选中行,选中后点击修改,textbox获得gridview中的代码的数据,需要的朋友可以参考下

    Gridview读Excel分页记录选中状态跳转页面传参

    3.分页模版包含首页,上一页,下一页,尾页,跳转到某页 4.Gridview内嵌套Checkbox 5.Checkbox用javascript控制全选 6.分页,跳到下一页,记录上一页面Checkbox选中状态 7.清除Checkbox选中状态 8.跳转页面,传参选...

    GridView分页

    GridView的自带分页 自定制分页 首页 上一页 下一页 末页 当前第几页 共几页

    gridview分页及数据绑定代码

    实现gridview的分布功能,上一页,下一页,首页,最后一页 实现sql数据库的连接功能,代码是自己做项目时的类,完全正确!

    c/s 模式下,自己做的gridview分页。

    分页 :分为第一页,下一页,上一页 尾页 当前是第几页,跳转到 几页 GO 基本是这样显示的

    C# Winform+devexpress 自定义分页控件

    C# Winform+devexpress 实现分页功能,上一页,下一页,最前页,最后一页,总记录数,总页数功能,带功能描述文件:WinformPager_Help.CHM

    GridView(For Asp.net C# vs2005)控件

    GridView预定义的分页页码显示,比较简单,而实际应用中,分页可能不是只显示首页,上一页,下一页,末页,或者是数字的页码那么简单,应该更需要,跳转,当前的页码,总页数等,更详尽的信息。

    海量(大量)数据GridView显示高效率分页实现方法

    GridView显示海量数据时效率极其低,每次要从数据库从取出海量数据,这明显不现实。 显示多少,就从数据库中读取多少数据,即每次取GridView显示的一个页面数据,点击下一页是,再取下一页相应的数据。

    gridview 异步加载本地图片

    该demo是一个gridview异步加载本地图片的例子。而且改实例中向上滚动的时候会加载下一页的数据(类似于分页)。

    .NET三大数据绑定控件分页代码

    实现了三大控件的分页,包括上一页下一页第一页最后一页跳转到第几页 项目没有解决方案,下载之后打开vs2005打开网站选择解压后的文件夹运行就可以了 如果不行 看看 删掉sln文件 然后打开vs 新建--&gt;打开网站

    NET SmartControls 分页控件

    显示总记录数、每页记录数、当前页数、总页数、首页、上一页、下一页、末页和分页按钮 扩展DropDownList控件和ListBox控件- 支持分组功能(optgroup标签) DropDownList(ListBox)控件既强大又好用。为了让它更强大、...

    基于Asp.Net的自定义分页控件

    3、本控件支持:上一页,下一页模式分页以及数字分页。 4、控件支持DataTable数据源和List泛型类数据源绑定。 5、每页显示的数量以及显示的页码数量和样式用户可以完全自定义。 6、页面使用方法参见:Help.txt文档。

    我的博客管理系统

    属性:上一页 下一页 末页 4.DateList Repeater GridView DetailView ViewState 的应用 DataList Repeater 的分页功能(1)代码编写 (2)PageDateSource()类 5.购物车: 添加新表,修改TemporyCart表 在...

Global site tag (gtag.js) - Google Analytics