1、設置GridView
//允許分頁
gvData.AllowPaging = true;
//每頁顯示的記錄數
gvData.PageSize = 20;
//分頁導航模式
gvData.PagerSettings.Mode = PagerButtons.Numeric;
gvData.AllowPaging = true;
//每頁顯示的記錄數
gvData.PageSize = 20;
//分頁導航模式
gvData.PagerSettings.Mode = PagerButtons.Numeric;
2、給GridVeiw加上OnPageIndexChanging事件
OnPageIndexChanging="GvData_PageIndexChanging"
3、在OnPageIndexChanging事件方法編寫頁方法
/// <summary>
/// 分頁功能
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GvData_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvData.PageIndex = e.NewPageIndex;
string sBrand_id_short = txtCompanyID.Text.Trim();
string sLot_id_value = txtNo.Text.Trim();
if (ViewState["MyDbData"]!=null)
{
//讀取查詢的資料。這些資料是在查詢后存入ViewState中的
mdatatable = (DataTable)ViewState["MyDbData"];
gvData.DataSource = mdatatable;
gvData.DataBind();
}
}
/// 分頁功能
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GvData_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvData.PageIndex = e.NewPageIndex;
string sBrand_id_short = txtCompanyID.Text.Trim();
string sLot_id_value = txtNo.Text.Trim();
if (ViewState["MyDbData"]!=null)
{
//讀取查詢的資料。這些資料是在查詢后存入ViewState中的
mdatatable = (DataTable)ViewState["MyDbData"];
gvData.DataSource = mdatatable;
gvData.DataBind();
}
}
4、說明:
<1> gridview 有pagesize 属性, 通过调整它, 可以控制在一页上显示记录的条数.
<2>如果嫌默认的选页的样式难看, 可以调整pagerStyle 属性.
<3>如果数据源是用sql 语句从数据库中查出来的, 那么, 因为网页没有全局变量, 所以换页时, 又要重新去数据库查一次, 这可能会是一个问题. 对这个细节, 应该进行优化, 使得只查询一次数据库. 至于使用何种方式保存数据, 仁者见仁, 智者见智.
<4>如果结合AJAX 使用, UpdatePanel 的childrenAsTriggers 属性必须设置为 true.
參考:http://www.cnblogs.com/Moosdau/archive/2007/09/28/908889.html