从后面的代码向现有的 html 表添加行

Adn*_*ain 1 c# asp.net visual-studio-2012

更多的新手:)

我已经使用下面的 html 代码创建了 HTML 表格

 <table runat="server" id="Table1" border="1" class="style1">
    <tr>
        <td class="style2" colspan="3">
            Info.</td>
        <td class="style2" colspan="2">
            TypeA</td>
        <td class="style2">
            TypeB</td>
        <td class="style2" rowspan="2">
            TypeC</td>
    </tr>
    <tr>
        <td class="style3">
            Dept.</td>
        <td class="style3">
            Div.</td>
        <td class="style3">
            Unit</td>
        <td class="style3">
            TypeA.1</td>
        <td class="style3">
            TypeA.1</td>
        <td style="text-align: center">
            TypeB.1</td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我尝试使用添加行

protected void Button1_Click(object sender, EventArgs e)
{
    TableRow tRow = new TableRow();
    for (int i = 1; i < 8; i++)
    {
        TableCell tb = new TableCell();
        tb.Text = "text";
        tRow.Controls.Add(tb);
    }
    Table1.Rows.Add(tRow);
}
Run Code Online (Sandbox Code Playgroud)

但我得到了:

'System.Web.UI.HtmlControls.HtmlTableRowCollection.Add(System.Web.UI.HtmlControls.HtmlTableRow)' 的最佳重载方法匹配有一些无效参数

我用谷歌搜索,但没有运气。

我这样做是为了避免代码中的列标题合并操作,而我仍然需要寻找如何合并行标题。这是完成/sf/ask/956926911/的最后一步

,.. 更近的标题视图是:

在此处输入图片说明

创建的行将有一个转发标题单元格,如果它与上面的行相同,则应合并该单元格。感谢 StackOverflow 成员的好助手。

sha*_*esh 5

该错误在异常中很明显。

您正在使用TableRow而不是HtmlTableRow.
悬停TableRow tRow = new TableRow();以查看TableRow该类来自哪个命名空间。

需要对单元进行类似的更改。即使用HtmlTableCell代替TableCell

编辑:TableTableRow是来自System.Web.UI.WebControls命名空间的类。
然而,HtmlTableHtmlTableRow是从类System.Web.UI.HtmlControls的命名空间。