如何在c#中动态添加表头?

时间:2015-05-27 14:11:39

标签: c#

我已经成功创建了在表行中生成新记录但是想要添加表头,那么该怎么做呢?

private void GenerateTable(int rowsCount)
        {
            Table table = new Table();
            table.ID = "Table1";
            Page.Form.Controls.Add(table);
            const int colsCount = 3;
            for (int i = 0; i < rowsCount; i++)
            {
                TableRow row = new TableRow();
                for (int j = 0; j < colsCount; j++)
                {                    
                    TableCell cell = new TableCell();
                    TextBox tb = new TextBox();
                    tb.ID = "TextBoxRow_" + i + "Col_" + j;
                    cell.Controls.Add(tb);
                    row.Cells.Add(cell);
                }
                table.Rows.Add(row);
            }
            SetPreviousData(rowsCount, colsCount);
            rowsCount++;
            ViewState["RowsCount"] = rowsCount;
        }

1 个答案:

答案 0 :(得分:1)

你这样做:

TableHeaderRow header = new TableHeaderRow(); // Creating a header row
table.Rows.Add(header); // Add the header row to table tbl 

为了在标题行中添加单元格,这是一个例子:

 TableHeaderCell headerTableCell1 = new TableHeaderCell();
 header.Cells.Add(headerTableCell1);

这就是你的代码所在:

private void GenerateTable(int rowsCount)
        {
            Table table = new Table();
            table.ID = "Table1";
            Page.Form.Controls.Add(table);
            const int colsCount = 3;

             TableHeaderRow header = new TableHeaderRow(); 
             table.Rows.Add(header); 
             //These two lines in iteir own loop
             TableHeaderCell headerTableCell1 = new TableHeaderCell();
             header.Cells.Add(headerTableCell1);
            for (int i = 0; i < rowsCount; i++)
            {
                TableRow row = new TableRow();
                for (int j = 0; j < colsCount; j++)
                {                    
                    TableCell cell = new TableCell();
                    TextBox tb = new TextBox();
                    tb.ID = "TextBoxRow_" + i + "Col_" + j;
                    cell.Controls.Add(tb);
                    row.Cells.Add(cell);
                }
                table.Rows.Add(row);
            }
            SetPreviousData(rowsCount, colsCount);
            rowsCount++;
            ViewState["RowsCount"] = rowsCount;
        }