在gridview的header中添加新行

<asp:GridView id="GridView2" runat="server" Width="100%" AutoGenerateColumns="False"

ShowHeader="false" OnRowDataBound="GridView2_RowDataBound"

OnRowCreated="GridView2_RowCreated">
                       
                        <Columns >
                          
                         
                              <asp:BoundField DataField="name" HeaderText="Name"

SortExpression="name" >
                                                <ItemStyle HorizontalAlign="Left" />
                                                <HeaderStyle HorizontalAlign="Left" />
                                            </asp:BoundField>
                           <asp:BoundField DataField="address" HeaderText="Address"

SortExpression="address">
                                <ItemStyle HorizontalAlign="Left" />
                                <HeaderStyle HorizontalAlign="Left" />
                            </asp:BoundField>
<asp:BoundField DataField="phone" HeaderText="Phone" SortExpression="phone">
                                <ItemStyle HorizontalAlign="Left" />
                                <HeaderStyle HorizontalAlign="Left" />
                            </asp:BoundField>
  </Columns>
                    </asp:GridView>

 <table runat="server" id="tab_lab_def" visible="false">
                <tr>
                    <td style="height: 21px">
                    1</td>
                    <td style="height: 21px"> New line1
                    </td>
                    <td style="height: 21px">
                        First Name
                    </td>
                </tr>
                <tr>
                    <td>
                        2</td>
                    <td>
                       New line2 </td>
                    <td>
                       Last Name
                    </td>
                </tr>
 <tr>
                    <td>
                        3</td>
                    <td>
                       New line3 </td>
                    <td>
                       ALL Name
                    </td>
                </tr>
</table>

protected void Page_Load(object sender, EventArgs e)
    {
      
        if (!IsPostBack)
        {
           //显示GridView2 它会隐藏老header添加新3行header(从前台tab_lab_def中提取的内容

作为header)
           

        }
    }
 protected void GridView2_RowCreated(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.Header)
        {
            GridViewRow rowHeader = new GridViewRow(0, 0, DataControlRowType.Header,

DataControlRowState.Normal);

            TableHeaderCell cell;

            for (int i = 1; i < tab_lab_def.Rows.Count; i++)
            {
                cell = new TableHeaderCell();
                cell.HorizontalAlign = HorizontalAlign.Left;
                cell.Text = tab_lab_def.Rows[i].Cells[0].InnerText.Trim();
                rowHeader.Cells.Add(cell);
            }

            ((GridView)sender).Controls[0].Controls.AddAt(0, rowHeader);

            rowHeader = new GridViewRow(1, 1, DataControlRowType.Header,

DataControlRowState.Normal);

            for (int j = 1; j < tab_lab_def.Rows.Count; j++)
            {
                cell = new TableHeaderCell();
                cell.HorizontalAlign = HorizontalAlign.Left;
                cell.Text = tab_lab_def.Rows[j].Cells[1].InnerText.Trim();
                rowHeader.Cells.Add(cell);
            }

            ((GridView)sender).Controls[0].Controls.AddAt(1, rowHeader);

            rowHeader = new GridViewRow(2, 2, DataControlRowType.Header,

DataControlRowState.Normal);

            for (int k = 1; k < tab_lab_def.Rows.Count; k++)
            {
                cell = new TableHeaderCell();
                cell.HorizontalAlign = HorizontalAlign.Left;
                cell.Text = tab_lab_def.Rows[k].Cells[2].InnerText.Trim();
                rowHeader.Cells.Add(cell);
            }

            ((GridView)sender).Controls[0].Controls.AddAt(2, rowHeader);
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值