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

📄 externalupdate.aspx.cs

📁 《圣殿祭司的ASP.NET 2.0开发详解——使用C#》光盘内容.包含了书籍所含的源代码.非常经典的一本asp.net2.0的书籍
💻 CS
字号:
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.Drawing;

public partial class ExternalUpdate : System.Web.UI.Page
{
	protected void Page_Load(object sender, EventArgs e)
	{
		if (!IsPostBack)
		{
			setGridViewStyle();		//设置样式
			setFields();			//设置字段
			UpdateRowControl(-1);	//隐藏编辑更新等控件
		}

		//设置SqlDataSource连接及Select命令
		sqldsEmployees.ConnectionString = ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString;
		sqldsEmployees.SelectCommand = "select EmployeeID,LastName,City,Address from Employees";
		sqldsEmployees.UpdateCommand = "Update Employees set LastName=@txtLastName,City=@txtCity where EmployeeID=@txtEmployeeID";
		//设置GridView数据源ID
		gviewEmployees.DataSourceID = sqldsEmployees.ID;
	}

	//设置GridView外观样式
	private void setGridViewStyle()
	{
		gviewEmployees.AutoGenerateColumns = false;
		string[] KeyNames = new string[] { "EmployeeID" };
		gviewEmployees.DataKeyNames = KeyNames;

		//设置GridView属性
		gviewEmployees.AllowPaging = true;	//设置分页
		gviewEmployees.AllowSorting = true;	//设置排序
		gviewEmployees.Font.Size = 10;		//设置字号
		gviewEmployees.GridLines = GridLines.Both;	//设置网格线
		gviewEmployees.PageSize = 10;
		gviewEmployees.EnableSortingAndPagingCallbacks = false;	//非同步Callback模式
		gviewEmployees.PagerSettings.Position = PagerPosition.TopAndBottom; //分页位置
		gviewEmployees.PagerStyle.HorizontalAlign = HorizontalAlign.Center; //分页对齐

		gviewEmployees.HeaderStyle.BackColor = Color.Tan;
		gviewEmployees.RowStyle.BackColor = Color.LightGoldenrodYellow;
		gviewEmployees.AlternatingRowStyle.BackColor = Color.PaleGoldenrod;
		gviewEmployees.HeaderStyle.ForeColor = Color.Black;
		gviewEmployees.PagerStyle.BackColor = Color.Goldenrod;

		//设置选择列背景颜色
		gviewEmployees.SelectedRowStyle.BackColor = Color.LightBlue;
	}

	//创建及设置Fields字段
	private void setFields()
	{
		//创建命令字段
		CommandField selectField = new CommandField();
		selectField.ButtonType = ButtonType.Link;
		selectField.ShowSelectButton = true;	//显示选择按钮
		selectField.SelectText = "选择行";
		selectField.ItemStyle.Wrap = false;
		//创建数据绑定字段
		BoundField employeeidField = new BoundField();
		BoundField lastnameField = new BoundField();
		BoundField cityField = new BoundField();
		BoundField addressField = new BoundField();


		employeeidField.DataField = "EmployeeID";	//指定数据源字段
		employeeidField.HeaderText = "EmployeeID";	//设置字段头名称
		//employeeidField.SortExpression = "EmployeeID";	//指定排序字段名称
		employeeidField.ItemStyle.Wrap = false;
		employeeidField.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
		lastnameField.DataField = "LastName";
		lastnameField.HeaderText = "LastName";
		//lastnameField.SortExpression = "LastName";
		lastnameField.ItemStyle.Wrap = false;
		cityField.DataField = "City";
		cityField.HeaderText = "City";
		//cityField.SortExpression = "City";
		cityField.ItemStyle.Wrap = false;
		addressField.DataField = "Address";
		addressField.HeaderText = "Address";
		addressField.ItemStyle.Wrap = false;
		//将字段添加到GridView
		gviewEmployees.Columns.Add(selectField);
		gviewEmployees.Columns.Add(employeeidField);
		gviewEmployees.Columns.Add(lastnameField);
		gviewEmployees.Columns.Add(cityField);
		gviewEmployees.Columns.Add(addressField);
	}

	protected void gviewEmployee_Sorted(object sender, EventArgs e)
	{
		switch (gviewEmployees.SortDirection)
		{
			//设置升降幂外观样式
			case SortDirection.Ascending:
				gviewEmployees.HeaderStyle.BackColor = Color.Tan;
				gviewEmployees.RowStyle.BackColor = Color.LightGoldenrodYellow;
				gviewEmployees.AlternatingRowStyle.BackColor = Color.PaleGoldenrod;
				gviewEmployees.HeaderStyle.ForeColor = Color.Black;
				gviewEmployees.PagerStyle.BackColor = Color.Goldenrod;
				gviewEmployees.SelectedRowStyle.BackColor = Color.LightBlue;
				break;
			//设置升降幂外观样式
			case SortDirection.Descending:
				gviewEmployees.HeaderStyle.BackColor = Color.MidnightBlue;
				gviewEmployees.RowStyle.BackColor = Color.LightBlue;
				gviewEmployees.AlternatingRowStyle.BackColor = Color.Lavender;
				gviewEmployees.HeaderStyle.ForeColor = Color.White;
				gviewEmployees.PagerStyle.BackColor = Color.LightPink;
				gviewEmployees.SelectedRowStyle.BackColor = Color.LightPink;
				break;
		}
	}

	protected void gviewEmployee_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
	{
		UpdateRowControl(e.NewSelectedIndex);
		gviewEmployees.SelectedIndex = -1;	//换页时取消选择
	}

	protected void gviewEmployee_PageIndexChanging(object sender, GridViewPageEventArgs e)
	{
		UpdateRowControl(-1);
	}

	//判断是否有被选择以决定是否显示编辑项目
	private void UpdateRowControl(int rowIndex)
	{
		if (rowIndex != -1)
		{
			txtLastNameTitle.Visible = true;
			txtLastName.Visible = true;
			txtCityTitle.Visible = true;
			txtCity.Visible = true;
			btnUpdate.Visible = true;
			btnCancel.Visible = true;

			txtLastName.Text = gviewEmployees.Rows[rowIndex].Cells[2].Text;
			txtCity.Text = gviewEmployees.Rows[rowIndex].Cells[3].Text;
		}
		else
		{
			txtLastNameTitle.Visible = false;
			txtLastName.Visible = false;
			txtCityTitle.Visible = false;
			txtCity.Visible = false;
			btnUpdate.Visible = false;
			btnCancel.Visible = false;

			txtLastName.Text = "";
			txtCity.Text = "";
		}
	}

	//更新数据行
	protected void btnUpdate_Click(object sender, EventArgs e)
	{
		sqldsEmployees.UpdateParameters.Add("txtEmployeeID", TypeCode.Int32, gviewEmployees.Rows[gviewEmployees.SelectedIndex].Cells[1].Text);
		sqldsEmployees.UpdateParameters.Add("txtLastName", TypeCode.String, txtLastName.Text);
		sqldsEmployees.UpdateParameters.Add("txtCity", TypeCode.String, txtCity.Text);

		/*以上程序同等以下程序代码,只是上面语法较为简洁,下面语法较易懂
		sqlDS.UpdateParameters.Add("txtEmployeeID", TypeCode.Int32, "EmployeeID");
		sqlDS.UpdateParameters["txtEmployeeID"].DefaultValue = gviewEmployee.Rows[gviewEmployee.SelectedIndex].Cells[1].Text;	
		sqlDS.UpdateParameters.Add("txtLastName", TypeCode.String, "LastName");
		sqlDS.UpdateParameters["txtLastName"].DefaultValue = txtLastName.Text;
		sqlDS.UpdateParameters.Add("txtCity", TypeCode.String, "City");
		sqlDS.UpdateParameters["txtCity"].DefaultValue = txtCity.Text;
		 * */

		gviewEmployees.UpdateRow(gviewEmployees.SelectedIndex, true);
		UpdateRowControl(-1);
	}

	//取消编辑
	protected void btnCancel_Click(object sender, EventArgs e)
	{
		UpdateRowControl(-1);
	}
}

⌨️ 快捷键说明

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