📄 multiheaderfooter.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 MultiHeaderFooter : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//txtColumn.Text = "请选择任何意一行";
setGridViewStyle();
setFields();
}
//设置SqlDataSource连接及Select命令
sqldsEmployees.ConnectionString = ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString;
sqldsEmployees.SelectCommand = "select EmployeeID,LastName,FirstName,Title,City,Address from Employees";
sqldsEmployees.UpdateCommand = "update Employees set LastName=@LastName,Title=@Title where EmployeeID=@EmployeeID";
//设置GridView数据源ID
gviewEmployees.DataSourceID = sqldsEmployees.ID;
}
//设置GridView外观样式
private void setGridViewStyle()
{
gviewEmployees.AutoGenerateColumns = false;
//设置Row的键值组成,具有唯一性
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 = 15;
//分页位置
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.ShowFooter = true;
}
//创建及设置Fields字段
private void setFields()
{
//创建命令字段
CommandField editField = new CommandField();
editField.ButtonType = ButtonType.Button;
editField.ShowEditButton = true; //显示删除按钮
editField.ShowCancelButton = true; //显示删除按钮
editField.EditText = "编辑";
editField.UpdateText = "更新";
editField.CancelText = "取消";
editField.ControlStyle.BackColor = Color.LightPink;
editField.ItemStyle.Wrap = false;
//创建数据绑定字段
BoundField employeeidField = new BoundField();
BoundField lastnameField = new BoundField();
BoundField firstnameField = new BoundField();
BoundField titleField = new BoundField();
BoundField cityField = new BoundField();
BoundField addressField = new BoundField();
employeeidField.DataField = "EmployeeID";
employeeidField.HeaderText = "员工代号";
employeeidField.ItemStyle.Wrap = false;
employeeidField.ReadOnly = true; //只读,编辑模式不能修改
lastnameField.DataField = "LastName";
lastnameField.HeaderText = "名字";
lastnameField.ItemStyle.Wrap = false;
firstnameField.DataField = "FirstName"; //指定数据源字段
firstnameField.HeaderText = "姓氏"; //设置字段头名称
firstnameField.ItemStyle.Wrap = false;
firstnameField.ReadOnly = true;
titleField.DataField = "Title";
titleField.HeaderText = "职称";
titleField.ItemStyle.Wrap = false;
cityField.DataField = "City";
cityField.HeaderText = "县市";
cityField.ItemStyle.Wrap = false;
addressField.DataField = "Address";
addressField.HeaderText = "地址";
addressField.ItemStyle.Wrap = false;
//将字段添加到GridView
gviewEmployees.Columns.Add(editField);
gviewEmployees.Columns.Add(employeeidField);
gviewEmployees.Columns.Add(lastnameField);
gviewEmployees.Columns.Add(firstnameField);
gviewEmployees.Columns.Add(titleField);
gviewEmployees.Columns.Add(cityField);
gviewEmployees.Columns.Add(addressField);
}
//创建表头表尾
protected void gviewEmployee_RowCreated(object sender, GridViewRowEventArgs e)
{
switch (e.Row.RowType)
{
case DataControlRowType.Header:
//第一行表头
TableCellCollection tcHeader = e.Row.Cells;
tcHeader.Clear();
tcHeader.Add(new TableHeaderCell());
tcHeader[0].Attributes.Add("rowspan", "3"); //跨Row
tcHeader[0].Attributes.Add("bgcolor", "LightCyan");
tcHeader[0].Text = "员工项目";
tcHeader.Add(new TableHeaderCell());
tcHeader[1].Attributes.Add("colspan", "6"); //跨Column
tcHeader[1].Text = "员工基本资料</th></tr><tr>";
//第二行表头
tcHeader.Add(new TableHeaderCell());
tcHeader[2].Attributes.Add("bgcolor", "Thistle");
tcHeader[2].Text = "员工ID";
tcHeader.Add(new TableHeaderCell());
tcHeader[3].Attributes.Add("bgcolor", "LightBlue");
tcHeader[3].Attributes.Add("colspan", "2");
tcHeader[3].Text = "员工姓名";
tcHeader.Add(new TableHeaderCell());
tcHeader[4].Attributes.Add("bgcolor", "Thistle");
tcHeader[4].Text = "担任职务";
tcHeader.Add(new TableHeaderCell());
tcHeader[5].Attributes.Add("bgcolor", "LightBlue");
tcHeader[5].Attributes.Add("colspan", "2");
tcHeader[5].Text = "通讯地址</th></tr><tr>";
//第三行表头
tcHeader.Add(new TableHeaderCell());
tcHeader[6].Attributes.Add("bgcolor", "LightSalmon");
tcHeader[6].Text = "员工代号";
tcHeader.Add(new TableHeaderCell());
tcHeader[7].Attributes.Add("bgcolor", "LightSalmon");
tcHeader[7].Text = "名字";
tcHeader.Add(new TableHeaderCell());
tcHeader[8].Attributes.Add("bgcolor", "LightSalmon");
tcHeader[8].Text = "姓氏";
tcHeader.Add(new TableHeaderCell());
tcHeader[9].Attributes.Add("bgcolor", "LightSalmon");
tcHeader[9].Text = "职称";
tcHeader.Add(new TableHeaderCell());
tcHeader[10].Attributes.Add("bgcolor", "LightSalmon");
tcHeader[10].Text = "县市";
tcHeader.Add(new TableHeaderCell());
tcHeader[11].Attributes.Add("bgcolor", "LightSalmon");
tcHeader[11].Text = "地址";
break;
case DataControlRowType.Footer:
//第一行表尾
TableCellCollection tcFooter = e.Row.Cells;
tcFooter.Clear();
tcFooter.Add(new TableHeaderCell());
tcFooter[0].Attributes.Add("bgcolor", "LightBlue");
tcFooter[0].Text = "======";
tcFooter.Add(new TableHeaderCell());
tcFooter[1].Text = "注一";
tcFooter[1].Attributes.Add("bgcolor", "Thistle");
tcFooter.Add(new TableHeaderCell());
tcFooter[2].Attributes.Add("bgcolor", "LightBlue");
tcFooter[2].Text = "注二";
tcFooter.Add(new TableHeaderCell());
tcFooter[3].Attributes.Add("bgcolor", "LightBlue");
tcFooter[3].Text = "注三";
tcFooter.Add(new TableHeaderCell());
tcFooter[4].Attributes.Add("bgcolor", "Thistle");
tcFooter[4].Text = "注四";
tcFooter.Add(new TableHeaderCell());
tcFooter[5].Attributes.Add("bgcolor", "LightBlue");
tcFooter[5].Attributes.Add("colspan", "3");
tcFooter[5].Text = "注五</th></tr><tr>";
//第二行表尾
tcFooter.Add(new TableHeaderCell());
tcFooter[6].Attributes.Add("bgcolor", "Tan");
tcFooter[6].Attributes.Add("colspan", "7");
tcFooter[6].Text = "GridView多重表尾</th></tr><tr>";
break;
}
}
//编辑事件
protected void gviewEmployee_RowEditing(object sender, GridViewEditEventArgs e)
{
//设置更新与取消按钮之背景颜色
gviewEmployees.Columns[0].ControlStyle.BackColor = Color.LightSteelBlue;
//设置GridView在编辑模式时,TextBox字段宽度及背景颜色
//LastName字段
gviewEmployees.Columns[2].ControlStyle.Width = 50;
gviewEmployees.Columns[2].ControlStyle.BackColor = Color.LightBlue;
gviewEmployees.ShowFooter = true;
gviewEmployees.Columns[2].FooterText = "可编辑";
gviewEmployees.Columns[2].FooterStyle.BackColor = Color.Red;
//Title字段
gviewEmployees.Columns[4].ControlStyle.Width = 120;
gviewEmployees.Columns[4].ControlStyle.BackColor = Color.LightPink;
gviewEmployees.ShowFooter = true;
gviewEmployees.Columns[4].FooterText = "可编辑";
gviewEmployees.Columns[4].FooterStyle.BackColor = Color.Red;
//City字段
gviewEmployees.Columns[5].ControlStyle.Width = 80;
gviewEmployees.Columns[5].ControlStyle.BackColor = Color.LightGreen;
gviewEmployees.ShowFooter = true;
gviewEmployees.Columns[5].FooterText = "可编辑";
gviewEmployees.Columns[5].FooterStyle.BackColor = Color.Red;
gviewEmployees.Columns[6].ControlStyle.Width = 200;
gviewEmployees.Columns[6].ControlStyle.BackColor = Color.LightGray;
gviewEmployees.ShowFooter = true;
gviewEmployees.Columns[6].FooterText = "可编辑";
gviewEmployees.Columns[6].FooterStyle.BackColor = Color.Red;
}
//取消事件
protected void gviewEmployee_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
//取消编辑时隐藏Footer
gviewEmployees.ShowFooter = false;
gviewEmployees.Columns[0].ControlStyle.BackColor = Color.LightPink;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -