GridView實現分頁功能

      當GridView中顯示的記錄不少的時候,能夠經過GridView的分頁功能來分頁顯示這些記錄。若是GridView是直接綁定數據庫,則很簡單:只要點擊GridView空間左上角的小三角形,再彈出的選項中,將"啓動分頁"打上勾便可。
若是是用代碼實現,則須要這麼作:
一、容許分頁:設置AllowPaging=True;
二、設置GridView屬性欄中PagerSetting裏的一些屬性中,定義分頁的樣式;
三、數據部署:將數據顯示到GridView上;
四、加入相關事件:PageIndexChanged()、PageIndexChanging();
五、若是要添加分頁碼顯示,即顯示當前在第幾頁,還需添加DataBound()事件。sql

例子:
功能:GridView分頁使用圖片按鈕並添加分頁碼顯示。
      默認狀況下GridView的分頁按鈕若是以圖片來顯示就沒法顯示文字,這樣就沒法知道當前所在的頁數。因而,添加分頁代碼顯示就能夠顯示所在分頁的索引數字了。數據庫

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;ui

public partial class GridView_Page : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //設置分頁的圖片按鈕,這些均可以在控件的屬性表上的pagersetting裏設置
        if (!IsPostBack)
        {
            GridView1.Caption = "這是一個GridView的小實驗";  
                  //Caption屬性相似於表名,顯示在控件的正上方。
            GridView1.PagerSettings.Mode = PagerButtons.NextPreviousFirstLast;
            GridView1.PagerSettings.NextPageImageUrl = "img/next.gif";
            GridView1.PagerSettings.PreviousPageImageUrl = "img/pre.gif";
            GridView1.PagerSettings.FirstPageImageUrl = "img/first.gif";
            GridView1.PagerSettings.LastPageImageUrl = "img/last.gif";
            GridView1.PageSize = 10;  //每頁最多顯示10條記錄;
            BindData();
        }
    }
    private void BindData()
    {
        //將數據部署到GridView中
        string Constr = "server=localhost; uid=sa;pwd=123456;database=NorthWind";
        string sqlstr = "select * from products";
        SqlConnection con = new SqlConnection(Constr);
        SqlDataAdapter ad = new SqlDataAdapter(sqlstr, con);
        DataSet ds = new DataSet();
        ad.Fill(ds);
        GridView1.DataSource = ds;
        GridView1.DataBind();
    }
    protected void GridView1_PageIndexChanged(object sender, EventArgs e)
    {
        //進行分頁以後,從新部署數據
        BindData();
    }
    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        //分頁完成以前
        GridView1.PageIndex = e.NewPageIndex;
    }
    protected void GridView1_DataBound(object sender, EventArgs e)
    {
        //添加分頁碼顯示
        GridViewRow bottomPagerRow = GridView1.BottomPagerRow;
        Label bottomLabel = new Label();
        bottomLabel.Text = "目前所在分頁:(" + (GridView1.PageIndex + 1) + "/" + GridView1.PageCount + ")";
        bottomPagerRow.Cells[0].Controls.Add(bottomLabel);
    }
}server

運行效果以下:
索引

相關文章
相關標籤/搜索