2013-08-20 15 views
11

Konnte jeder erklären Wie Header und Subheader in Gridview in der folgenden Abbildung gezeigt hinzufügen !! enter image description hereHinzufügen von Header und Subheader in Gridview

+0

nicht klar, bitte dann neues Bild bekommen hier setzen. –

+0

Anstatt das Bild, fügen Sie bitte Ihren Code (für zukünftige Referenz). – jadarnel27

Antwort

35

hallo Sie können es tun, wie diese

enter image description here

<%@ 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 ID="grvMergeHeader" runat="server" 
         BackColor="LightGoldenrodYellow" 
         BorderColor="Tan" BorderWidth="5px" 
         CellPadding="3" ForeColor="Black" 
         GridLines="None" BorderStyle="None" CellSpacing="2" 
         AutoGenerateColumns="False" 
         DataSourceID="SqlDataSource1" 
         OnRowCreated="grvMergeHeader_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" /> 
      <Columns> 
       <asp:BoundField DataField="DepartMentID" 
           HeaderText="DepartMentID" 
           SortExpression="DepartMentID" /> 
       <asp:BoundField DataField="DepartMent" 
           HeaderText="DepartMent" 
           SortExpression="DepartMent" /> 
       <asp:BoundField DataField="Name" 
           HeaderText="Name" 
           SortExpression="Name" /> 
       <asp:BoundField DataField="Location" 
           HeaderText="Location" 
           SortExpression="Location" /> 
      </Columns> 
     </asp:GridView> 
     <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
      SelectCommand="SELECT [DepartMentID], [DepartMent], [Name], [Location] FROM [Employee]"> 
     </asp:SqlDataSource> 
     &nbsp;</div> 
    </form> 
</body> 
</html> 

-Code hinter

protected void grvMergeHeader_RowCreated(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.Header) 
     { 
      GridView HeaderGrid = (GridView)sender; 
      GridViewRow HeaderGridRow = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Insert); 
      TableCell HeaderCell = new TableCell(); 
      HeaderCell.Text = "Department"; 
      HeaderCell.ColumnSpan = 2; 
      HeaderGridRow.Cells.Add(HeaderCell); 

      HeaderCell = new TableCell(); 
      HeaderCell.Text = "Employee"; 
      HeaderCell.ColumnSpan = 2; 
      HeaderGridRow.Cells.Add(HeaderCell); 

      grvMergeHeader.Controls[0].Controls.AddAt(0, HeaderGridRow); 

     } 
+0

Wie kann ich das gleiche dafür tun: http://stackoverflow.com/questions/25556878/how-to-insert-a-table-row-of-dropdownlist-inside-the-header-as-a-second- in-a-gri – Si8

+0

Ich habe das selbe versucht, aber ich rufe auch eine Funktion auf PAGE LOAD, die auf eine der Tabellenzelle verweist, aber sie kann nicht darauf zugreifen und gibt mir den 'Der Name '' existiert nicht im aktuellen Inhalt' . – SearchForKnowledge

+3

Es ist wichtig zu sagen, dass, wenn Sie Ihre Zellen wollen als '' Reather gerendert werden als '' Sie ein 'TableHeaderCell' statt' TableCell' –

Verwandte Themen