protected voidGridView1_OnRowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header) //判断创建的行是不是标题行
{
GridViewRow rowHeader = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);
rowHeader.Font.Bold = true;//设置标题行的背景颜色,以及字体样式
e.Row.Attributes.Add("style", "background-image:url('../image/right_bg2.jpg')");
TableCellCollection cells =e.Row.Cells;
cells.Clear(); //获得标题行,清空标题行的设置
cells.Add(new TableHeaderCell()); //添加一个标题单元
cells[0].ColumnSpan = 1;
cells[0].RowSpan = 2; //设置跨行.
//设置跨行.
cells[0].Text = "检测日期</th><th colspan=2>名称</th><thcolspan=2>二氧化硫</th><th colspan=2>颗粒物</th><th colspan=2>氮氧化合物</th><thRowSpan=2>备注</th></tr><tr style=\"background-image:url('../image/right_bg2.jpg')\"><th>公司</th><th>分厂</th><th>最大值</th><th>超标次数</th><th>最大值</th><th>超标次数</th><th>最大值</th><th>超标次数";
//序号<th RowSpan=2>占两行 <th colspan=2>占两列
}
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#eafcd5'");
//变量c用与存储鼠标移动在行上时,原来的背景色,然后设置为'#CCCCCC'
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
//当鼠标离开时,还原背景色
}
}
//#region 合并单元格 合并某一列中的某些行
/ <summary>/ 合并单元格 合并某一列中的某些行
/ </summary>
/ <param name="GridView1">GridView ID</param>
/ <param name="cellNum">列</param>
/ <param name="sRow">开始行</param>
/ <param name="eRow">结束列</param>
//public static void GroupCol1(GridView GridView1, int cols, int sRow, int eRow)
//{
// if (GridView1.Rows.Count < 1 || cols > GridView1.Columns.Count - 1)
// {
// return;
// }
// TableCell oldTc = GridView1.Rows[sRow].Cells[cols];
// for (int i = 1; i < eRow - sRow; i++)
// {
// TableCell tc = GridView1.Rows[sRow + i].Cells[cols];
// tc.Visible = false;
// if (oldTc.RowSpan == 0)
// {
// oldTc.RowSpan = 1;
// }
// oldTc.RowSpan++;
// oldTc.VerticalAlign = VerticalAlign.Middle;
// }
//}
//#endregion
#region 合并单元格 合并某一列所有行
/// <summary>
/// 合并GridView中某列相同信息的行(单元格)
/// </summary>
/// <param name="GridView1"></param>
/// <param name="cellNum"></param>
public static void GroupCol(GridView GridView1, int cols)
{
if (GridView1.Rows.Count < 1 || cols > GridView1.Rows[0].Cells.Count - 1)
{
return;
}
TableCell oldTc = GridView1.Rows[0].Cells[cols];
for (int i = 1; i < GridView1.Rows.Count; i++)
{
TableCell tc = GridView1.Rows[i].Cells[cols];
if (oldTc.Text == tc.Text)
{
tc.Visible = false;
if (oldTc.RowSpan == 0)
{
oldTc.RowSpan = 1;
}
oldTc.RowSpan++;
oldTc.VerticalAlign = VerticalAlign.Middle;
}
else
{
oldTc = tc;
}
}
}
#endregion