asp.net显示第一页、上一页、下一页和最后一页的分页显示数据表的数据

来源:互联网 发布:淘宝品质退款率怎么算 编辑:程序博客网 时间:2024/04/18 21:54

asp.net显示第一页、上一页、下一页和最后一页的分页显示数据表的数据

实现代码如下:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Drawing;

namespace ShowData4
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            GridView1.PageSize = 5;  /*GridView控件在每页上显示的记录数目*/
           
            if (GridView1.Rows.Count != 0)  /*当记录数只显示一页时加载分页标签*/
            {
                Control table = GridView1.Controls[0];
                int count = table.Controls.Count;
                table.Controls[count - 1].Visible = true;
            }
        }

        protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
        {
           
            if (e.Row.RowType == DataControlRowType.Pager)  /*显示页导航控件的行*/
            {
               
                /*创建在网页上显示超链接的按钮*/
                LinkButton Button_IndexFirst = new LinkButton(); 
                LinkButton Button_IndexLast = new LinkButton();
                LinkButton Button_IndexNext = new LinkButton();
                LinkButton Button_IndexPrevious = new LinkButton();

                /*添加超链接按钮到页导航行*/
                e.Row.Controls[0].Controls.Add(Button_IndexFirst);
                e.Row.Controls[0].Controls.Add(new LiteralControl(("  ")));  /*分页按钮之间用2个空格隔开*/
                e.Row.Controls[0].Controls.Add(Button_IndexPrevious);
                e.Row.Controls[0].Controls.Add(new LiteralControl(("  ")));
                e.Row.Controls[0].Controls.Add(Button_IndexNext);
                e.Row.Controls[0].Controls.Add(new LiteralControl(("  ")));
                e.Row.Controls[0].Controls.Add(Button_IndexLast);

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

                Button_IndexPrevious.Text = "上一页";
                Button_IndexPrevious.CommandName = "previous";
                Button_IndexPrevious.Click += new EventHandler(PageButtonClick);

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

                Button_IndexLast.Text = "最后一页";
                Button_IndexLast.CommandName = "last";
                Button_IndexLast.Click += new EventHandler(PageButtonClick);

                if (GridView1.PageIndex == 0)
                {
                    if (GridView1.PageCount > 1)  /*记录数所需页数大于一页*/
                    {
                        Button_IndexFirst.Enabled = false;
                        Button_IndexPrevious.Enabled = false;
                    }
                    else  /*记录数只需一页*/
                    {
                        Button_IndexFirst.Enabled = false;
                        Button_IndexPrevious.Enabled = false;
                        Button_IndexNext.Enabled = false;
                        Button_IndexLast.Enabled = false;
                    }
                }
                else if (GridView1.PageIndex == GridView1.PageCount - 1)
                {
                    Button_IndexNext.Enabled = false;
                    Button_IndexLast.Enabled = false;
                }
                else if (GridView1.PageCount <= 0)
                {
                    Response.Write("数据表中没有数据!");
                    Button_IndexFirst.Enabled = false;
                    Button_IndexPrevious.Enabled = false;
                    Button_IndexNext.Enabled = false;
                    Button_IndexLast.Enabled = false;
                }
            }
        }

        protected void PageButtonClick(object sender, EventArgs e)
        {
            LinkButton clickedButton = ((LinkButton)sender);

            if (clickedButton.CommandName == "first")  /*点击的是“第一页”按钮,页索引为0*/
            {
                GridView1.PageIndex = 0;
            }
            else if (clickedButton.CommandName == "next")  /*点击的是“下一页”按钮,页索引加1*/
            {
                if (GridView1.PageIndex < GridView1.PageCount - 1)
                {
                    GridView1.PageIndex += 1;
                }
            }
            else if (clickedButton.CommandName == "previous")  /*点击的是“上一页”按钮,页索引如果大于等于1则减1*/
            {
                if (GridView1.PageIndex >= 1)
                {
                    GridView1.PageIndex -= 1;
                }
            }
            else if (clickedButton.CommandName == "last")  /*点击的是“最后一页”按钮*/
            {
                GridView1.PageIndex = GridView1.PageCount - 1;
            }
        }
       
    }
}

原创粉丝点击