datagriddoubleheader.aspx.cs
来自「asp.net专家200问(含源代码解决法案」· CS 代码 · 共 131 行
CS
131 行
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.SqlClient;
using System.Configuration;
namespace CommonFunction
{
/// <summary>
/// DataGridDoubleHeader 的摘要说明。
/// </summary>
public class DataGridDoubleHeader : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid dgDoubleHeader;
//用来判断两个(上下)Pager的位置
private bool upPager = true;
private void Page_Load(object sender, System.EventArgs e)
{
//页面初试化时进行数据绑定
if(!IsPostBack)
DataGridDataBind();
}
private void DataGridDataBind()
{
//定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
//创建数据适配器对象
SqlDataAdapter da = new SqlDataAdapter("SELECT LastName,FirstName, HomePhone, City, PostalCode FROM Employees",conn);
//创建DataSet对象
DataSet ds = new DataSet();
try
{
//填充数据集
da.Fill(ds,"testTable");
//进行数据绑定
dgDoubleHeader.DataSource = ds.Tables["testTable"];
dgDoubleHeader.DataBind();
}
catch(SqlException error)
{
//输出异常信息
Response.Write(error.ToString());
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.dgDoubleHeader.ItemCreated += new System.Web.UI.WebControls.DataGridItemEventHandler(this.dgDoubleHeader_ItemCreated);
this.dgDoubleHeader.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.dgDoubleHeader_PageIndexChanged);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void dgDoubleHeader_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//获取DataGrid控件中项的类型
ListItemType ItemType = e.Item.ItemType;
//判断是否是页导航项
if (ItemType == ListItemType.Pager)
{
//判断是否是第一个页导航项
if (upPager)
{
//根据DataGrid控件的项定义单元格对象
TableCell cellPersonal = (TableCell) e.Item.Controls[0];
//移出该单元格内的所有控件
cellPersonal.Controls.Clear();
//设置单元格对象的背景色
cellPersonal.BackColor = Color.Orange;
//设置单元格对象的前景色
cellPersonal.ForeColor = Color.Black;
//设置该单元格对象跨3列
cellPersonal.ColumnSpan = 2;
//设置该单元格对象的对齐方式为居中
cellPersonal.HorizontalAlign = HorizontalAlign.Center;
//添加单元格内的文本内容
cellPersonal.Controls.Add(new LiteralControl("姓名"));
//定义单元格对象
TableCell cellWork = new TableCell();
//设置单元格对象的背景色
cellWork.BackColor = Color.OrangeRed;
//设置单元格对象的前景色
cellWork.ForeColor = Color.Black;
//设置该单元格对象跨2列
cellWork.ColumnSpan = 3;
//设置该单元格对象的对齐方式为居中
cellWork.HorizontalAlign = HorizontalAlign.Center;
//添加单元格内的文本内容
cellWork.Controls.Add(new LiteralControl("联系方式"));
//在该项的控件集合中添加单元格对象
e.Item.Controls.Add(cellWork);
//改变Pager标志
upPager = false;
}
}
}
private void dgDoubleHeader_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
//改变Pager标志的值使其可以在每次触发分页事件时都设置标题头
upPager = true;
//设置新的页面索引值
dgDoubleHeader.CurrentPageIndex = e.NewPageIndex;
//重新进行数据绑定
DataGridDataBind();
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?