合并GridView的表头
合并GridView的表头:

 <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ 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">
<!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" >
<html xmlns="http://www.w3.org/1999/xhtml" >
 <head runat="server">
<head runat="server">
 <title>Untitled Page</title>
    <title>Untitled Page</title>
 </head>
</head>
 <body>
<body>
 <form id="form1" runat="server">
    <form id="form1" runat="server">
 <div>
    <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">
        <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" />
            <FooterStyle BackColor="Tan" />
 <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
            <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
 <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" />
            <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" />
 <HeaderStyle BackColor="Tan" Font-Bold="True" />
            <HeaderStyle BackColor="Tan" Font-Bold="True" />
 <AlternatingRowStyle BackColor="PaleGoldenrod" />
            <AlternatingRowStyle BackColor="PaleGoldenrod" />
 </asp:GridView>
        </asp:GridView>
 </div>
    </div>
 </form>
    </form>
 </body>
</body>
 </html>
</html>
 
 using System;
using System;
 using System.Data;
using System.Data;
 using System.Configuration;
using System.Configuration;
 using System.Web;
using System.Web;
 using System.Web.Security;
using System.Web.Security;
 using System.Web.UI;
using System.Web.UI;
 using System.Web.UI.WebControls;
using System.Web.UI.WebControls;
 using System.Web.UI.WebControls.WebParts;
using System.Web.UI.WebControls.WebParts;
 using System.Web.UI.HtmlControls;
using System.Web.UI.HtmlControls;

 public partial class _Default : System.Web.UI.Page
public partial class _Default : System.Web.UI.Page 
 {
{
 protected void Page_Load(object sender, EventArgs e)
    protected void Page_Load(object sender, EventArgs e)
 {
    {
 if (!IsPostBack)
        if (!IsPostBack)
 {
        {
 GridView_Merge_Header.DataSource = GenerateDataSet();
            GridView_Merge_Header.DataSource = GenerateDataSet();
 GridView_Merge_Header.DataBind();
            GridView_Merge_Header.DataBind();
 }
        }
 }
    }

 private DataSet GenerateDataSet()
    private DataSet GenerateDataSet()
 {
    {
 DataSet ds= new DataSet("test");
        DataSet ds= new DataSet("test");
 ds.ReadXml(HttpRuntime.AppDomainAppPath + "/Employee.xml");
        ds.ReadXml(HttpRuntime.AppDomainAppPath + "/Employee.xml");
 return ds;
        return ds;
 }
    }
 protected void GridView_Merge_Header_RowCreated(object sender, GridViewRowEventArgs e)
    protected void GridView_Merge_Header_RowCreated(object sender, GridViewRowEventArgs e)
 {
    {
 if (e.Row.RowType == DataControlRowType.Header)
        if (e.Row.RowType == DataControlRowType.Header)
 {
        {                    
 //Build custom header.
            //Build custom header.
 GridView oGridView = (GridView)sender;
            GridView oGridView = (GridView)sender;
 GridViewRow oGridViewRow = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Insert);
            GridViewRow oGridViewRow = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Insert);
 TableCell oTableCell = new TableCell();
            TableCell oTableCell = new TableCell();

 //Add Department
            //Add Department
 oTableCell.Text = "Department";
            oTableCell.Text = "Department";
 oTableCell.ColumnSpan = 2;
            oTableCell.ColumnSpan = 2;
 oGridViewRow.Cells.Add(oTableCell);
            oGridViewRow.Cells.Add(oTableCell);

 //Add Employee
            //Add Employee
 oTableCell = new TableCell();
            oTableCell = new TableCell();
 oTableCell.Text = "Employee";
            oTableCell.Text = "Employee";
 oTableCell.ColumnSpan = 3;
            oTableCell.ColumnSpan = 3;
 oGridViewRow.Cells.Add(oTableCell);
            oGridViewRow.Cells.Add(oTableCell);

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


 
     
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号