ASP.NET C#生成表动态不起作用

时间:2011-10-02 11:36:05

标签: c# asp.net html-table

我一直在尝试生成一个包含n行的表。习惯于PHP会使这一切变得最糟糕。我尝试了以下代码:

using System.Data;

// Create a DataTable instance
DataTable dTbl = new DataTable("myDynamicTable");

// Create a DataColumn instances

DataColumn dValue = new DataColumn();
DataColumn dMember = new DataColumn();

dValue.ColumnName = "Id";
dValue.DataType = Type.GetType("System.Int32");

dMember.ColumnName = "Name";
dMember.DataType = Type.GetType("System.String");

// Add these DataColumns into the DataTable

dTbl.Columns.Add(dValue);

dTbl.Columns.Add(dMember);
DataRow myrow = dTbl.NewRow();

myrow["Id"] = 1;
myrow["Name"] = "Tux";

// Add the row into the table

dTbl.Rows.Add(myrow);

但没有显示。知道为什么吗? 我只需要显示一个包含3列和n行的表。这个行数将取决于满足某些条件的数据库中的记录数。

我也试过这个:

HtmlTable table1 = new HtmlTable();

// Set the table's formatting-related properties.
table1.Border = 1;
table1.CellPadding = 3;
table1.CellSpacing = 3;
table1.BorderColor = "red";

// Start adding content to the table.
HtmlTableRow row;
HtmlTableCell cell;
for (int i = 1; i <= 5; i++)
{
    // Create a new row and set its background color.
    row = new HtmlTableRow();
    row.BgColor = (i % 2 == 0 ? "lightyellow" : "lightcyan");

    for (int j = 1; j <= 4; j++)
    {
        // Create a cell and set its text.
        cell = new HtmlTableCell();
        cell.InnerHtml = "Row: " + i.ToString() +
          "<br>Cell: " + j.ToString();

        // Add the cell to the current row.
        row.Cells.Add(cell);
    }

    // Add the row to the table.
    table1.Rows.Add(row);
}

// Add the table to the page.
this.Controls.Add(table1);

但它不起作用!

1 个答案:

答案 0 :(得分:1)

而不是“this.Controls.Add(table1)”将表添加到.aspx页面,然后通过代码修改它。

更好 - 使用数据绑定GridView。