ASP.NET 2.0中合并 GridView 的多表头单元格

cs代码:

     protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.Header)
            {
               
                GridViewRow rowHeader = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);
                //string HeaderBackColor = "#EDEDED";
                //rowHeader.BackColor = System.Drawing.ColorTranslator.FromHtml(HeaderBackColor);
                rowHeader.BackColor = System.Drawing.Color.Black;
                rowHeader.Font.Bold = true;

                TableCellCollection cells = e.Row.Cells;
                清除自动生成的表头
                //cells.Clear();
                TableCell headerCell = new TableCell();
                headerCell = new TableCell();
                headerCell.Text = "专业";
                //headerCell.BorderWidth = Unit.Pixel(0);
                //headerCell.BorderStyle = BorderStyle.None;
                //headerCell.BorderColor = System.Drawing.Color.DarkGray;
                headerCell.HorizontalAlign = HorizontalAlign.Center;
                headerCell.VerticalAlign = VerticalAlign.Bottom;
                rowHeader.Cells.Add(headerCell);

                TableCell headerCell1 = new TableCell();

                headerCell1 = new TableCell();
                headerCell1.Text = "单选题";
                headerCell1.BorderWidth = Unit.Pixel(0);
                headerCell1.BorderStyle = BorderStyle.Solid;
                headerCell1.BorderColor = System.Drawing.Color.DarkGray;
                headerCell1.ColumnSpan = 6;
                headerCell1.HorizontalAlign = HorizontalAlign.Center;
                rowHeader.Cells.Add(headerCell1);

                TableCell headerCell2 = new TableCell();

                headerCell2 = new TableCell();
                headerCell2.Text = "多选题";
                headerCell2.ColumnSpan = 6;
                headerCell2.HorizontalAlign = HorizontalAlign.Center;
                rowHeader.Cells.Add(headerCell2);


                TableCell headerCell3 = new TableCell();

                headerCell3 = new TableCell();
                headerCell3.Text = "判断题";
                headerCell3.ColumnSpan = 6;
                headerCell3.HorizontalAlign = HorizontalAlign.Center;
                rowHeader.Cells.Add(headerCell3);

                rowHeader.Visible = true;
                GridView1.Controls[0].Controls.AddAt(0, rowHeader);
              

            }
            
        }

html 代码:

<asp:GridView id="GridView1" runat="server" Width="100%"   PageSize="16" BorderWidth="1px" BorderStyle="Solid" BorderColor="#CCCCCC" BackColor="White" CellPadding="0" AutoGenerateColumns="False" AllowPaging="True" OnRowCreated="GridView1_RowCreated" >
<FooterStyle BackColor="#507CD1" Font-Bold="True"></FooterStyle>
<Columns>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Label id="Label1" runat="server" Text=''></asp:Label>
</ItemTemplate>
<ItemStyle BackColor="#F7F7F7" BorderStyle="Solid"  Height="20px" BorderWidth="1px" BorderColor="#CCCCCC" HorizontalAlign="Left" VerticalAlign="Middle"></ItemStyle>

<HeaderStyle BorderStyle="Solid" Height="25px" BorderWidth="1px" BorderColor="#CCCCCC" HorizontalAlign="Center" VerticalAlign="Middle"></HeaderStyle>
</asp:TemplateField>
    <asp:TemplateField HeaderText="A">
        <HeaderStyle HorizontalAlign="Center" />
    </asp:TemplateField>
    <asp:TemplateField HeaderText="B">
        <HeaderStyle HorizontalAlign="Center" />
    </asp:TemplateField>
    <asp:TemplateField HeaderText="C">
        <HeaderStyle HorizontalAlign="Center" />
    </asp:TemplateField>
    <asp:TemplateField HeaderText="D">
        <HeaderStyle HorizontalAlign="Center" />
    </asp:TemplateField>
    <asp:TemplateField HeaderText="E">
        <HeaderStyle HorizontalAlign="Center" />
    </asp:TemplateField>
    <asp:TemplateField HeaderText="小计">
        <HeaderStyle HorizontalAlign="Center" />
    </asp:TemplateField>
    <asp:TemplateField HeaderText="A">
        <EditItemTemplate>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        </EditItemTemplate>
        <HeaderStyle HorizontalAlign="Center" />
        <ItemTemplate>
            <asp:Label ID="Label2" runat="server"></asp:Label>
        </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="B">
        <HeaderStyle HorizontalAlign="Center" />
    </asp:TemplateField>
    <asp:TemplateField HeaderText="C">
        <HeaderStyle HorizontalAlign="Center" />
    </asp:TemplateField>
    <asp:TemplateField HeaderText="D">
        <HeaderStyle HorizontalAlign="Center" />
    </asp:TemplateField>
    <asp:TemplateField HeaderText="E">
        <HeaderStyle HorizontalAlign="Center" />
    </asp:TemplateField>
    <asp:TemplateField HeaderText="小计">
        <HeaderStyle HorizontalAlign="Center" />
    </asp:TemplateField>
    <asp:TemplateField HeaderText="A">
        <HeaderStyle HorizontalAlign="Center" />
    </asp:TemplateField>
    <asp:TemplateField HeaderText="B">
        <HeaderStyle HorizontalAlign="Center" />
    </asp:TemplateField>
    <asp:TemplateField HeaderText="C">
        <HeaderStyle HorizontalAlign="Center" />
    </asp:TemplateField>
    <asp:TemplateField HeaderText="D">
        <HeaderStyle HorizontalAlign="Center" />
    </asp:TemplateField>
    <asp:TemplateField HeaderText="E">
        <HeaderStyle HorizontalAlign="Center" />
    </asp:TemplateField>
    <asp:TemplateField HeaderText="小计">
        <HeaderStyle HorizontalAlign="Center" />
    </asp:TemplateField>
</Columns>

<RowStyle BorderStyle="Solid" BorderWidth="1px" BorderColor="#CCCCCC"></RowStyle>

<PagerStyle ForeColor="Black" HorizontalAlign="Right"></PagerStyle>

<HeaderStyle BorderStyle="Solid" Height="25px" ForeColor="Black" BorderWidth="1px" CssClass="head" BorderColor="#CCCCCC" Font-Bold="True"></HeaderStyle>
</asp:GridView>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值