方法一:用table实现 
  <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();
   } 
 

当月

 

 

居民

 

 

一般

 

 

工付业

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章: