• DataGrid中创建复杂表头


    方法一:用table实现 
      <form id="Form1" method="post" runat="server">
       <TABLE id="Table1" runat="server" cellSpacing="1" cellPadding="2" width="580" border="1"
        bgcolor="#cc6633" bordercolor="#cc9966" style="FONT-SIZE:9pt;BORDER-BOTTOM:0px">
        <TR align="center">
         <TD colspan="2" width="380" style="HEIGHT: 21px"></TD>
         <TD width="200" colspan="2" style="HEIGHT: 21px"></TD>
        </TR>
        <TR align="center">
         <TD width="200" bgcolor="#66cc99"><FONT face="
    宋体"></FONT></TD>
         <TD width="180" bgcolor="white"><FONT face="
    宋体"></FONT></TD>
         <TD width="160" bgcolor="#99cccc"></TD>
         <TD width="40" bgcolor="#009999"></TD>
        </TR>
       </TABLE>
       <asp:DataGrid id="DataGrid1" width="580px" AlternatingItemStyle-BackColor="#6699ff" CellPadding="2"
        CellSpacing="1" BorderWidth="1" BorderColor="#cc9966" Font-Size="9pt" runat="server" ShowHeader="False"
        AutoGenerateColumns="False">
        <Columns>
         <asp:BoundColumn DataField="Title">
          <ItemStyle Width="200px"></ItemStyle>
         </asp:BoundColumn>
         <asp:BoundColumn DataField="CreateDate">
          <ItemStyle Width="180px"></ItemStyle>
         </asp:BoundColumn>
         <asp:BoundColumn DataField="pid">
          <ItemStyle Width="160px"></ItemStyle>
         </asp:BoundColumn>
         <asp:BoundColumn DataField="HitCount">
          <ItemStyle Width="40px"></ItemStyle>
         </asp:BoundColumn>
        </Columns>
       </asp:DataGrid>   
      </form>  
    窗体顶端

    窗体底端
    方法二:动态生成表头
    生成双层表头:
      private void grid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
      { 
       if (e.Item.ItemType == ListItemType.Header)
       {
    //    e.Item.Cells[0].ColumnSpan = 1;//
    这是第一列的跨列数
        StringBuilder strtext=new StringBuilder();
        strtext.Append("\\</td>");
        strtext.Append("<td colspan=4>
    生活照明</td>");
        strtext.Append("<td colspan=2>
    一般照明</td>");
        strtext.Append("<td colspan=2>
    工付业</td>");
        strtext.Append("<td colspan=2>
    农业</td>");
        strtext.Append("<td colspan=2>
    合计</td>");
        strtext.Append("</tr>");
        strtext.Append("<tr>");
        strtext.Append("<td>" + e.Item.Cells[0].Text);               
        e.Item.Cells[0].Text =strtext.ToString();

       } }
    整个表头内容:<tr><td>  e.Item.Cells[0].Text =的内容  </td></tr>
    加起来就是表头的样式。

    生活照明

    一般照明

    工付业

    农业

    合计

      生成三层表头:

     if (e.Item.ItemType == ListItemType.Header)
       {    
        StringBuilder strtext=new StringBuilder();
        strtext.Append("</td>");
        strtext.Append("<td colspan= 6>
    当月</td>");
        strtext.Append("</tr>"); 
     
        strtext.Append("<tr>"); 
        strtext.Append("<td colspan=2>
    居民</td>");
        strtext.Append("<td colspan=2>
    一般</td>");
        strtext.Append("<td colspan=2>
    工付业</td>");
        strtext.Append("</tr>"); 
     

        strtext.Append("<tr>");
        strtext.Append("<td>" + e.Item.Cells[0].Text);               
        e.Item.Cells[0].Text =strtext.ToString();
       } 
     

    当月

    居民

    一般

    工付业

  • 相关阅读:
    C++网络编程服务器select模型(参考)
    javascript中多维数组的使用
    C++ 网络编程 阻塞I/O模型并发回显服务器
    指针在javascript的使用方式
    C++网络编程之服务器编程
    C++网络编程之客户端程序
    Excel数据提取C++代码(仅供参考)
    SkipOut游戏实现代码
    C++读取Excel 精华
    MFC excel修改类
  • 原文地址:https://www.cnblogs.com/Bluer/p/548655.html
Copyright © 2020-2023  润新知