合并GridView的表头

合并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(00, 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/p/1227560.html