GridView合并表头
前台:
<asp:GridView ID="gridView" runat="server" AllowPaging="True" Width="100%" CellPadding="3"
OnPageIndexChanging="gridView_PageIndexChanging" BorderWidth="1px" DataKeyNames="id"
OnRowDataBound="gridView_RowDataBound" AutoGenerateColumns="false" PageSize="10"
RowStyle-HorizontalAlign="Center" OnRowCreated="gridView_OnRowCreated">
<Columns>
<asp:TemplateField ControlStyle-Width="30" HeaderText="选择">
<ItemTemplate>
<asp:CheckBox ID="DeleteThis" onclick="javascript:CCA(this);" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="序号" ReadOnly="True" />
<asp:BoundField DataField="hetonghao" HeaderText="合同号" SortExpression="hetonghao"
ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="xmname" HeaderText="项目名称" SortExpression="xmname" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="xiangmujibie" HeaderText="项目级别" SortExpression="xiangmujibie"
ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="jinru9000" HeaderText="是否9000" SortExpression="jinru9000"
ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="xiangmustarttime" HeaderText="开始时间" SortExpression="xiangmustarttime"
ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="xiangmujingli" HeaderText="项目经理" SortExpression="xiangmujingli"
ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="zhuguanfujingli" HeaderText="主管副经理" SortExpression="zhuguanfujingli"
ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="zongjingli" HeaderText="总经理" SortExpression="zongjingli"
ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="xmjzqk_A" HeaderText="xmjzqk_A" SortExpression="xmjzqk_A"
ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="xmjzqk_B" HeaderText="xmjzqk_B" SortExpression="xmjzqk_B"
ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="xmjzqk_C" HeaderText="xmjzqk_C" SortExpression="xmjzqk_C"
ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="xmjzqk_D" HeaderText="xmjzqk_D" SortExpression="xmjzqk_D"
ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="xmjzqk_E" HeaderText="xmjzqk_E" SortExpression="xmjzqk_E"
ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="xmjzqk_F" HeaderText="xmjzqk_F" SortExpression="xmjzqk_F"
ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="xmjzqk_G" HeaderText="xmjzqk_G" SortExpression="xmjzqk_G"
ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="xiayibugongzuo" HeaderText="下一步工作" SortExpression="xiayibugongzuo"
ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="yigaofinishtime" HeaderText="预计一搞完成时间" SortExpression="yigaofinishtime"
ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="tijiaogukegaoshijian" HeaderText="tijiaogukegaoshijian"
SortExpression="提交顾客稿时间" ItemStyle-HorizontalAlign="Center" />
<asp:HyperLinkField HeaderText="编辑" ControlStyle-Width="50" DataNavigateUrlFields="id"
DataNavigateUrlFormatString="zxywModify.aspx?id={0}" Text="编辑" />
<asp:TemplateField ControlStyle-Width="50" HeaderText="删除" Visible="false">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete"
Text="删除"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
后台:
protected void gridView_OnRowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
//e.Row.Cells[0].Text = "<input id='Checkbox2' type='checkbox' onclick='CheckAll()'/><label></label>";
GridViewRow gr = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);
string HeaderBackColor = "#EDEDED";
gr.BackColor = System.Drawing.ColorTranslator.FromHtml(HeaderBackColor);
Literal newCells = new Literal();
newCells.Text += @"
<th rowspan='2'>序号</th>
<th rowspan='2'>合同号</th>
<th rowspan='2'>项目名称</th>
<th rowspan='2'>项目级别</th>
<th rowspan='2'>是否9000</th>
<th rowspan='2'>开始时间</th>
<th rowspan='2'>项目经理</th>
<th rowspan='2'>主管经理</th>
<th rowspan='2'>总经理</th>
<th colspan='7'>项目进展情况</th>
</tr>
<tr bgcolor='" + HeaderBackColor + "'>";
newCells.Text += @"
<th>A-洽谈合同签订阶段</th>
<th>B-项目启动阶段</th>
<th>C-报告编制部阶段</th>
<th>D-二稿审核及修改</th>
<th>E-顾客确认</th>
<th>F-批准及报告交付阶段</th>
<th>G-文件归档阶段</th>
<th >下一步工作</th>
<th >预计一搞完成时间</th>
<th >提交顾客稿时间</th>
<th >编辑</th>
";
TableCellCollection cells = e.Row.Cells;
TableHeaderCell headerCell = new TableHeaderCell();
//下面的属性设置与 <td rowspan='2'>关键单元格</td> 要一致
headerCell.RowSpan = 2;
headerCell.Controls.Add(newCells);
gr.Cells.Add(headerCell);
gr.Cells.Add(headerCell);
gr.Visible = true;
//添加到 GridView1
this.gridView.Controls[0].Controls.AddAt(0, gr);
}
}
效果: