如何在c#中动态创建表

lax*_*lax 5 c# asp.net

<table id="tableContent" border="1" runat="server">
    <tr>
        <td colspan="3">
        Record 1
        </td>
    </tr>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
    </tr>
    <tr>
        <td>a</td>
        <td>b</td>
        <td>c</td>
    </tr>
    <tr>
        <td>m</td>
        <td>n</td>
        <td>o</td>
    </tr>
    <tr>
        <td colspan="3">
            <input id="Button1" type="button" value="button" />
        </td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我必须在c#中动态创建上表我正在尝试但没有得到

protected void Page_Load(object sender, EventArgs e)
{

    HtmlTableRow row = null;
    HtmlTableCell cell = null;

    for(int i = 0; i < 5; i++)
    {
        row = new HtmlTableRow();
        cell = new HtmlTableCell();
        tableContent.Controls.AddAt(i, row);
        row.Controls.AddAt(i, cell);
        cell.InnerText="1";
    }
}
Run Code Online (Sandbox Code Playgroud)

Yog*_*pta 7

您可以尝试使用此代码来创建表.

首先将此标记放在您的aspx页面中

<table id="tableContent" border="1" runat="server"></table>
Run Code Online (Sandbox Code Playgroud)

然后在Page_Load中尝试此代码

protected void Page_Load(object sender, EventArgs e)
{
    HtmlTableRow row = new HtmlTableRow();
    HtmlTableCell cell = new HtmlTableCell();

    cell.ColSpan =3;
    cell.InnerText = "Record 1";
    row.Cells.Add(cell);
    tableContent.Rows.Add(row);

    row = new HtmlTableRow();
    cell = new HtmlTableCell();

    cell.InnerText = "1";
    row.Cells.Add(cell);

    cell = new HtmlTableCell();
    cell.InnerText = "2";
    row.Cells.Add(cell);

    cell = new HtmlTableCell();
    cell.InnerText = "3";
    row.Cells.Add(cell);

    tableContent.Rows.Add(row);

    row = new HtmlTableRow();
    cell = new HtmlTableCell();

    cell.InnerText = "a";
    row.Cells.Add(cell);

    cell = new HtmlTableCell();
    cell.InnerText = "b";
    row.Cells.Add(cell);

    cell = new HtmlTableCell();
    cell.InnerText = "c";
    row.Cells.Add(cell);

    tableContent.Rows.Add(row);


    row = new HtmlTableRow();
    cell = new HtmlTableCell();
    cell.InnerText = "m";
    row.Cells.Add(cell);

    cell = new HtmlTableCell();
    cell.InnerText = "n";
    row.Cells.Add(cell);

    cell = new HtmlTableCell();
    cell.InnerText = "o";
    row.Cells.Add(cell);

    tableContent.Rows.Add(row);

    row = new HtmlTableRow();
    cell = new HtmlTableCell();

    HtmlInputButton input = new HtmlInputButton();
    input.ID = "Button1";
    input.Value = "button";

    cell.ColSpan = 3;
    cell.Controls.Add(input);
    row.Cells.Add(cell);
    tableContent.Rows.Add(row);
}
Run Code Online (Sandbox Code Playgroud)

或者您可以通过将单元格值存储在2D数组中来尝试此操作

protected void Page_Load(object sender, EventArgs e)
{
    String[,] cellValues = { { "1", "2", "3" }, { "a", "b", "c" }, { "m", "n", "o" } };

    HtmlTableRow row = new HtmlTableRow();
    HtmlTableCell cell = new HtmlTableCell();

    cell.ColSpan = 3;
    cell.InnerText = "Record 1";
    row.Cells.Add(cell);
    tableContent.Rows.Add(row);

    for (int i = 0; i < cellValues.GetLength(0); i++)
    {
        row = new HtmlTableRow();
        for (int j = 0; j < cellValues.GetLength(1); j++)
        {
            cell = new HtmlTableCell();
            cell.InnerText = cellValues[i, j];
            row.Cells.Add(cell);
        }
        tableContent.Rows.Add(row);
    }

    row = new HtmlTableRow();
    cell = new HtmlTableCell();

    HtmlInputButton input = new HtmlInputButton();
    input.ID = "Button1";
    input.Value = "button";

    cell.ColSpan = 3;
    cell.Controls.Add(input);
    row.Cells.Add(cell);
    tableContent.Rows.Add(row);
}
Run Code Online (Sandbox Code Playgroud)