合并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 > 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); } }} <? 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 > 转载于:https://www.cnblogs.com/adam/archive/2008/06/22/1227560.html