⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 一个功能齐全的datagrid分页例子.txt

📁 学习积累的代码段
💻 TXT
字号:
新建一个access数据库:db1 在数据库中建表Document 里边有两个字段CreateDate和Title
 在.aspx的页面中建立相应控件:
代码如下:
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("db1.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();
		}

		#region Web Form Designer generated code
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}

		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion
	}
}

.html代码如下:
<%@ 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>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -