DataGrid分页实例(转自孟宪会之精彩世界)

ASP.NET页面

<% @ Page language = " c# "  EnableViewState  =   " true "  Codebehind = " DataGridPaging.aspx.cs "
 AutoEventWireup
= " false "  Inherits = " eMeng.Exam.DataGridPaging.DataGridPaging "   %>
<! DOCTYPE HTML PUBLIC  " -//W3C//DTD HTML 4.0 Transitional//EN " >
< HTML >
< HEAD >
< meta content = " Visual Basic 7.0 "  name = " CODE_LANGUAGE " >
< meta content = " JavaScript "  name = " vs_defaultClientScript " >
< meta content = " http://schemas.microsoft.com/intellisense/ie5 "  name = " vs_targetSchema " >
</ HEAD >
< body MS_POSITIONING = " GridLayout " >
< form id = " Form1 "  runat = " server " >
< asp:datagrid id = " MyDataGrid "  runat = " server "  AutoGenerateColumns = " False "
    HorizontalAlign
= " Center "  AlternatingItemStyle - BackColor = " #eeeeee "
    HeaderStyle
- BackColor = " #aaaadd "  Font - Size = " 8pt "  Font - Name = " Verdana "
    CellSpacing
= " 0 "  CellPadding = " 3 "  GridLines = " Both "  BorderWidth = " 1 "
    BorderColor
= " black "  OnPageIndexChanged = " MyDataGrid_Page "  PagerStyle - HorizontalAlign = " Right "
    PagerStyle
- Mode = " NumericPages "  PageSize = " 5 "  AllowPaging = " True " >
  
< AlternatingItemStyle BackColor = " #EEEEEE " ></ AlternatingItemStyle >
  
< HeaderStyle BackColor = " #AAAADD "  Font - Bold = " True "  HorizontalAlign = " Center " ></ HeaderStyle >
  
< PagerStyle HorizontalAlign = " Right "  Mode = " NumericPages " ></ PagerStyle >
  
< Columns >
  
< asp:BoundColumn HeaderText = " 标题 "  DataField = " Title "  HeaderStyle - Width = " 480px " >
  
</ asp:BoundColumn >
  
< asp:BoundColumn HeaderText = " 发表日期 "  DataField = " CreateDate "  DataFormatString = " {0:yyyy-MM-dd hh:mm:ss} " >
  
</ asp:BoundColumn >
  
</ Columns >
</ asp:datagrid >
< p style = " FONT-SIZE:9pt "  align = " center " >
  
< asp:label id = " lblPageCount "  runat = " server " ></ asp:label >& nbsp;
  
< asp:label id = " lblCurrentIndex "  runat = " server " ></ asp:label >
  
< asp:linkbutton id = " btnFirst "  onclick = " PagerButtonClick "  runat = " server "  Font - Name = " verdana "
      Font
- size = " 8pt "  ForeColor = " navy "  CommandArgument = " 0 " ></ asp:linkbutton >& nbsp;
  
< asp:linkbutton id = " btnPrev "  onclick = " PagerButtonClick "  runat = " server "  Font - Name = " verdana "
      Font
- size = " 8pt "  ForeColor = " navy "  CommandArgument = " prev " ></ asp:linkbutton >& nbsp;
  
< asp:linkbutton id = " btnNext "  onclick = " PagerButtonClick "  runat = " server "  Font - Name = " verdana "
      Font
- size = " 8pt "  ForeColor = " navy "  CommandArgument = " next " ></ asp:linkbutton >& nbsp;
  
< asp:linkbutton id = " btnLast "  onclick = " PagerButtonClick "  runat = " server "  Font - Name = " verdana "
      Font
- size = " 8pt "  ForeColor = " navy "  CommandArgument = " last " ></ asp:linkbutton >
</ p >
</ form >
</ body >
</ HTML >

 

--------------------------------------------

后置代码:

 

using  System;
using  System.Collections;
using  System.ComponentModel;
using  System.Data;
using  System.Data.OleDb;
using  System.Drawing;
using  System.Web;
using  System.Web.SessionState;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.HtmlControls;

namespace  eMeng.Exam.DataGridPaging
{
/// <summary>
/// DataGridPaging 的摘要说明。
/// </summary>

public class DataGridPaging : System.Web.UI.Page
{
 
protected System.Web.UI.WebControls.DataGrid MyDataGrid;
 
protected System.Web.UI.WebControls.Label lblPageCount;
 
protected System.Web.UI.WebControls.Label lblCurrentIndex;
 
protected System.Web.UI.WebControls.LinkButton btnFirst;
 
protected System.Web.UI.WebControls.LinkButton btnPrev;
 
protected System.Web.UI.WebControls.LinkButton btnNext;
 
protected System.Web.UI.WebControls.LinkButton btnLast;
 
private OleDbConnection cn = new OleDbConnection();

private void Page_Load(object sender, System.EventArgs e)
{
  
// 在此处放置用户代码以初始化页面
  btnFirst.Text = "最首页";
  btnPrev.Text 
= "前一页";
  btnNext.Text 
= "下一页";
  btnLast.Text 
= "最后页";
  OpenDatabase();
  BindGrid();
}

private void OpenDatabase()
{
 cn.ConnectionString 
= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("xxxx.mdb");
 cn.Open();
}

private void ShowStats()
{
 lblCurrentIndex.Text 
= "第 " + (MyDataGrid.CurrentPageIndex + 1).ToString() + " 页";
 lblPageCount.Text 
= "总共 " + MyDataGrid.PageCount.ToString() + " 页";
}


public void PagerButtonClick(object sender, EventArgs e)
{
 
string arg = ((LinkButton)sender).CommandArgument.ToString();
 
switch(arg)
 
{
  
case "next":
   
if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))
   
{
    MyDataGrid.CurrentPageIndex 
+= 1;
   }

   
break;
  
case "prev":
   
if (MyDataGrid.CurrentPageIndex > 0)
   
{
    MyDataGrid.CurrentPageIndex 
-= 1;
   }

   
break;
  
case "last":
   MyDataGrid.CurrentPageIndex 
= (MyDataGrid.PageCount - 1);
   
break;
  
default:
   MyDataGrid.CurrentPageIndex 
= System.Convert.ToInt32(arg);
   
break;
 }

 BindGrid();
 ShowStats();
}

public void BindGrid()
{
 OleDbConnection myConnection 
= cn;
 DataSet ds  
= new DataSet();
 OleDbDataAdapter adapter  
= new OleDbDataAdapter("Select Title,CreateDate from Document", myConnection);
 adapter.Fill(ds, 
"Document");
 MyDataGrid.DataSource 
= ds.Tables["Document"].DefaultView;
 MyDataGrid.DataBind();
 ShowStats();
}

public void MyDataGrid_Page(object sender, DataGridPageChangedEventArgs e)
{
 
int startIndex ;
 startIndex 
= MyDataGrid.CurrentPageIndex * MyDataGrid.PageSize;
 MyDataGrid.CurrentPageIndex 
= e.NewPageIndex;
 BindGrid();
 ShowStats();
}


Web Form Designer generated code
}

}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值