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);


        }


    }

 

效果:

 

posted @ 2011-07-28 14:08  litao6664  阅读(412)  评论(0编辑  收藏  举报