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ます。

編集:Table、は名前空間TableRowのクラスです。 一方、、は名前空間のクラスです。System.Web.UI.WebControls
HtmlTableHtmlTableRowSystem.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 に答える