合并GridView的表头:
<%
@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"
%>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > Untitled Page </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< div >
< asp:GridView runat ="server" ID ="GridView_Merge_Header" BackColor ="LightGoldenrodYellow" BorderColor ="Tan" BorderWidth ="3px" CellPadding ="2" ForeColor ="Black" GridLines ="None" BorderStyle ="None" CellSpacing ="2" Font-Names ="Verdana" Font-Size ="8pt" OnRowCreated ="GridView_Merge_Header_RowCreated" >
< FooterStyle BackColor ="Tan" />
< SelectedRowStyle BackColor ="DarkSlateBlue" ForeColor ="GhostWhite" />
< PagerStyle BackColor ="PaleGoldenrod" ForeColor ="DarkSlateBlue" HorizontalAlign ="Center" />
< HeaderStyle BackColor ="Tan" Font-Bold ="True" />
< AlternatingRowStyle BackColor ="PaleGoldenrod" />
</ asp:GridView >
</ div >
</ form >
</ body >
</ html >
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > Untitled Page </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< div >
< asp:GridView runat ="server" ID ="GridView_Merge_Header" BackColor ="LightGoldenrodYellow" BorderColor ="Tan" BorderWidth ="3px" CellPadding ="2" ForeColor ="Black" GridLines ="None" BorderStyle ="None" CellSpacing ="2" Font-Names ="Verdana" Font-Size ="8pt" OnRowCreated ="GridView_Merge_Header_RowCreated" >
< FooterStyle BackColor ="Tan" />
< SelectedRowStyle BackColor ="DarkSlateBlue" ForeColor ="GhostWhite" />
< PagerStyle BackColor ="PaleGoldenrod" ForeColor ="DarkSlateBlue" HorizontalAlign ="Center" />
< HeaderStyle BackColor ="Tan" Font-Bold ="True" />
< AlternatingRowStyle BackColor ="PaleGoldenrod" />
</ asp:GridView >
</ div >
</ form >
</ body >
</ html >
using
System;
using System.Data;
using System.Configuration;
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;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridView_Merge_Header.DataSource = GenerateDataSet();
GridView_Merge_Header.DataBind();
}
}
private DataSet GenerateDataSet()
{
DataSet ds= new DataSet("test");
ds.ReadXml(HttpRuntime.AppDomainAppPath + "/Employee.xml");
return ds;
}
protected void GridView_Merge_Header_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
//Build custom header.
GridView oGridView = (GridView)sender;
GridViewRow oGridViewRow = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Insert);
TableCell oTableCell = new TableCell();
//Add Department
oTableCell.Text = "Department";
oTableCell.ColumnSpan = 2;
oGridViewRow.Cells.Add(oTableCell);
//Add Employee
oTableCell = new TableCell();
oTableCell.Text = "Employee";
oTableCell.ColumnSpan = 3;
oGridViewRow.Cells.Add(oTableCell);
oGridView.Controls[0].Controls.AddAt(0, oGridViewRow);
}
}
}
using System.Data;
using System.Configuration;
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;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridView_Merge_Header.DataSource = GenerateDataSet();
GridView_Merge_Header.DataBind();
}
}
private DataSet GenerateDataSet()
{
DataSet ds= new DataSet("test");
ds.ReadXml(HttpRuntime.AppDomainAppPath + "/Employee.xml");
return ds;
}
protected void GridView_Merge_Header_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
//Build custom header.
GridView oGridView = (GridView)sender;
GridViewRow oGridViewRow = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Insert);
TableCell oTableCell = new TableCell();
//Add Department
oTableCell.Text = "Department";
oTableCell.ColumnSpan = 2;
oGridViewRow.Cells.Add(oTableCell);
//Add Employee
oTableCell = new TableCell();
oTableCell.Text = "Employee";
oTableCell.ColumnSpan = 3;
oGridViewRow.Cells.Add(oTableCell);
oGridView.Controls[0].Controls.AddAt(0, oGridViewRow);
}
}
}
<?
xml version="1.0" encoding="utf-8"
?>
< EmployeeDetails >
< Employee >
< Department > Development </ Department >
< DepartID > 2 </ DepartID >
< Name > Rajendran </ Name >
< Age > 25 </ Age >
< Location > USA </ Location >
</ Employee >
< Employee >
< Department > Development </ Department >
< DepartID > 2 </ DepartID >
< Name > Karthic </ Name >
< Age > 25 </ Age >
< Location > USA </ Location >
</ Employee >
< Employee >
< Department > Testing </ Department >
< DepartID > 2 </ DepartID >
< Name > Karthikeyan </ Name >
< Age > 25 </ Age >
< Location > India </ Location >
</ Employee >
< Employee >
< Department > Management </ Department >
< DepartID > 4 </ DepartID >
< Name > Vidhya </ Name >
< Age > 24 </ Age >
< Location > India </ Location >
</ Employee >
< Employee >
< Department > School </ Department >
< DepartID > -1 </ DepartID >
< Name > Anandh </ Name >
< Age > 24 </ Age >
< Location > India </ Location >
</ Employee >
< Employee >
< Department > Mechanic </ Department >
< DepartID > 5 </ DepartID >
< Name > Magesh </ Name >
< Age > 25 </ Age >
< Location > India </ Location >
</ Employee >
< Employee >
< Department > Admin </ Department >
< DepartID > 7 </ DepartID >
< Name > Sabari </ Name >
< Age > 25 </ Age >
< Location > India </ Location >
</ Employee >
< Employee >
< Department > Human Resource </ Department >
< DepartID > 8 </ DepartID >
< Name > Nirmal </ Name >
< Age > 25 </ Age >
< Location > India </ Location >
</ Employee >
</ EmployeeDetails >
< EmployeeDetails >
< Employee >
< Department > Development </ Department >
< DepartID > 2 </ DepartID >
< Name > Rajendran </ Name >
< Age > 25 </ Age >
< Location > USA </ Location >
</ Employee >
< Employee >
< Department > Development </ Department >
< DepartID > 2 </ DepartID >
< Name > Karthic </ Name >
< Age > 25 </ Age >
< Location > USA </ Location >
</ Employee >
< Employee >
< Department > Testing </ Department >
< DepartID > 2 </ DepartID >
< Name > Karthikeyan </ Name >
< Age > 25 </ Age >
< Location > India </ Location >
</ Employee >
< Employee >
< Department > Management </ Department >
< DepartID > 4 </ DepartID >
< Name > Vidhya </ Name >
< Age > 24 </ Age >
< Location > India </ Location >
</ Employee >
< Employee >
< Department > School </ Department >
< DepartID > -1 </ DepartID >
< Name > Anandh </ Name >
< Age > 24 </ Age >
< Location > India </ Location >
</ Employee >
< Employee >
< Department > Mechanic </ Department >
< DepartID > 5 </ DepartID >
< Name > Magesh </ Name >
< Age > 25 </ Age >
< Location > India </ Location >
</ Employee >
< Employee >
< Department > Admin </ Department >
< DepartID > 7 </ DepartID >
< Name > Sabari </ Name >
< Age > 25 </ Age >
< Location > India </ Location >
</ Employee >
< Employee >
< Department > Human Resource </ Department >
< DepartID > 8 </ DepartID >
< Name > Nirmal </ Name >
< Age > 25 </ Age >
< Location > India </ Location >
</ Employee >
</ EmployeeDetails >