1

更多新手:)

我使用下面的 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>

我尝试使用为它添加行

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

但我得到了:

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

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

我这样做是为了避免后面代码中的列标题合并操作,而我仍然需要寻找如何合并行标题。这是完成https://stackoverflow.com/questions/13670384/asp-net-dynamic-input-display-table-by-section-with-multi-columns-rows-headers的最后一步

,.. 更近的航向视图是:

在此处输入图像描述

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

4

2 回答 2

5

错误在异常中很明显。

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

需要对单元格进行类似的更改。即使用HtmlTableCell而不是TableCell.

编辑:TableTableRowSystem.Web.UI.WebControls命名空间中的类。
而 ,HtmlTable是命名空间HtmlTableRow中的类System.Web.UI.HtmlControls

于 2013-01-05T07:29:24.663 回答
0

你只是需要更多的关注。你可以试试这个:

第1步:

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

第 2 步:在后面的代码中使用此代码:

 HtmlTableRow tRow = new HtmlTableRow();
 for (int i = 1; i < 3; i++)
 {
    HtmlTableCell tb = new HtmlTableCell();               
    tb.InnerText = "text";
    tRow.Controls.Add(tb);
 }
 Table1.Rows.Add(tRow);

注意:using在后面的代码中使用它:

using System.Web.UI.HtmlControls;
于 2016-12-05T15:49:22.400 回答