📄 externalupdate.aspx.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 + -