webform1.aspx.cs

来自「Csharp实例编程百例.rar」· CS 代码 · 共 135 行

CS
135
字号
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb ;

namespace testDataGrid
{
	/// <summary>
	/// WebForm1 的摘要说明。
	/// </summary>
	public class WebForm1 : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.DropDownList ddPageSize;
		protected System.Web.UI.WebControls.Button Button1;
		protected System.Web.UI.WebControls.DataGrid DataGrid1;

		private OleDbConnection conn;
		private OleDbDataAdapter da;
		private DataSet ds = new DataSet() ;
		private DataView dv;

	
		private void Page_Load(object sender, System.EventArgs e)
		{
			// 在此处放置用户代码以初始化页面
			if (!IsPostBack)
			{
				//使用ViewState保存页面中的排序字段名
				if (ViewState["SortField"]==null)
				{
					ViewState["SortField"] = "index";
				}
				//调用BindGrid函数完成绑定数据
				BindGrid(ViewState["SortField"].ToString ());
			}

		}

		private void BindGrid(string SortField)
		{
			//new a dbconnection,数据库为db目录下的mydb.mdb
			string connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" 
						   + Server.MapPath(@".\db\mydb.mdb") 
				           + ";Mode=Share Deny None;Persist Security Info=False";
			conn = new OleDbConnection(connstr); 
			//创建sql语句
			string sql = "SELECT * FROM [mytable]";
			//创建dataadapter
			da = new OleDbDataAdapter(sql,conn); 
			//填充dataset
			da.Fill(ds,"Data");
			dv = ds.Tables["Data"].DefaultView ;
			//dataview的排序字段
			dv.Sort = SortField;
			//绑定DataGrid1
			DataGrid1.DataSource = dv;
			DataGrid1.DataBind ();
		}


		#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.DataGrid1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_PageIndexChanged);
			this.DataGrid1.SortCommand += new System.Web.UI.WebControls.DataGridSortCommandEventHandler(this.DataGrid1_SortCommand);
			this.Button1.Click += new System.EventHandler(this.Button1_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
		{			
			//如果已经按照当前字段排序,就反序排列,否则进行排序
			//当前排序字段记录在ViewState["SortField"]中
			if (ViewState["SortField"].ToString () == e.SortExpression )
			{
				BindGrid(e.SortExpression + " DESC");
				ViewState["SortField"] = "";
			}
			else
			{
				BindGrid(e.SortExpression );
				ViewState["SortField"] = e.SortExpression ;
			}

		
		}

		private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
		{
			//设置新的当前页号,重新绑定数据
			DataGrid1.CurrentPageIndex = e.NewPageIndex ;
			BindGrid(ViewState["SortField"].ToString ());

		}

		private void Button1_Click(object sender, System.EventArgs e)
		{
			if (int.Parse (ddPageSize.SelectedItem.Value) == 0)
			{
				DataGrid1.AllowPaging = false;
			}
			else
			{
				DataGrid1.AllowPaging = true;
				DataGrid1.PageSize = int.Parse (ddPageSize.SelectedItem.Value) ;
				DataGrid1.CurrentPageIndex = 0;
			}
			BindGrid(ViewState["SortField"].ToString ());

		}
	}
}

⌨️ 快捷键说明

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