C# Gridview中标题的合并

C# Gridview中标题的合并,c#,gridview,C#,Gridview,我在Gridview中遇到了一个问题,如果Gridview没有记录,我无法合并标题,但是如果Gridview包含记录,则标题正在合并 这是我用来在Gridview中合并标题的代码 protected void grdWorkExperience_RowCreated(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.Header) {

我在Gridview中遇到了一个问题,如果Gridview没有记录,我无法合并标题,但是如果Gridview包含记录,则标题正在合并

这是我用来在Gridview中合并标题的代码

protected void grdWorkExperience_RowCreated(object sender, GridViewRowEventArgs e)
    {

        if (e.Row.RowType == DataControlRowType.Header)
        {
            GridView oGridView = (GridView)sender;
            GridViewRow oGridViewRow = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Insert);
            TableCell oTableCell = new TableCell();

            oTableCell.Text = string.Empty;
            oTableCell.ColumnSpan = 2;
            oTableCell.BorderColor = System.Drawing.Color.White;
            oGridViewRow.Cells.Add(oTableCell);

            oTableCell = new TableCell();
            oTableCell.Text = "Inclusive Dates(mm/dd/yyyy)";
            oTableCell.ColumnSpan = 2;
            oTableCell.Font.Bold = true;
            oTableCell.Font.Size = 9;
            oTableCell.Font.Name = "Verdana";
            oTableCell.HorizontalAlign = HorizontalAlign.Center;
            oTableCell.BackColor = System.Drawing.Color.FromArgb(0x33, 0x66, 0xCC);
            oTableCell.ForeColor = System.Drawing.Color.White;
            oTableCell.BorderColor = System.Drawing.Color.Gray;
            oGridViewRow.Cells.Add(oTableCell);

            oTableCell = new TableCell();
            oTableCell.BorderColor = System.Drawing.Color.White;
            oTableCell.ColumnSpan = 13;
            oGridViewRow.Cells.Add(oTableCell);

            oGridView.Controls[0].Controls.AddAt(0, oGridViewRow);

        }
    }
我将该函数放在Gridview的onRowCreated事件中


即使Gridview没有记录,我应该如何合并标题?

将代码从
OnRowCreated
事件移动到
Window/Control/Page
Load
事件。我尝试了它,但它不起作用。我更改此代码“oGridView.Controls[0]。Controls.AddAt(0,oGridViewRow);“到此”grdWorkExperience.Controls[0].Controls.AddAt(0,oGridViewRow);“我将oGridView更改为grdWorkExperience,这是gridview的名称,我更改的代码行正在产生此类错误:“指定的参数超出了有效值的范围。参数名称:index”如果我在绑定gridview后将代码放入页面的加载事件中,gridview就会出现故障。是否还有其他方法@TilakYou应该向数据绑定源添加行。
GridViewRowsCollection
是不可变的,无法修改。你是什么意思?需要我的数据源始终有一条记录?或者,合并h艾德不会工作吗?