在ASP.net中以动态数量的列动态添加单元格到表

时间:2014-03-21 23:11:37

标签: c# asp.net

我想创建一个包含5列的表。从那里,我将按照我认为合适的方式添加单元格,当列填充时自动移动到下一行。我将使用DataTable对象中的行填充每个单元格的信息。如果你能想象,桌子将保持固定宽度,但随着更多项目的增加,高度会增加。中继器,也许?我也有用于AJAX的Telerik UI,所以如果这种路由是可能的,我会接受它。

代码:

//create empty table with 5 columns here
foreach(DataRow row in table.Rows)
{
     TableCell cell = new TableCell();

     // I have the logic figured out to fill the cell here
     // Now, how to insert these into the table, automatically moving to the next row when necessary
}

1 个答案:

答案 0 :(得分:2)

你可以这样做:

    // Suppose you want to add 10 rows
    int totalRows = 10;
    int totalColumns = 5;

    for (int r = 0; r <= totalRows; r++)
    {
        TableRow tableRow = new TableRow();
        for (int c = 0; c <= totalColumns; c++)
        {
            TableCell cell = new TableCell();
            TextBox txtBox = new TextBox();
            txtBox.Text = "Row: " + r + ", Col:" + c;
            cell.Controls.Add(txtBox);
            //Add the cell to the current row.
            tableRow.Cells.Add(cell);

            if (c==5)
            {
                // This is the final column, add the row
                table.Rows.Add(tableRow);
            }
        }
    }

这样您就可以为表添加任意动态行数,每行包含5列。

希望这有帮助。