创建ASP.NET表头行

时间:2013-11-08 00:37:21

标签: asp.net vb.net

我不知道为什么这不起作用。我正在尝试从后端代码创建一个表头部分,但一切都进入了tbody。

        Dim output As New Web.UI.WebControls.Table

        'Create the header row
        Dim hRow As New Web.UI.WebControls.TableHeaderRow
        hRow.TableSection = Web.UI.WebControls.TableRowSection.TableHeader
        hRow.Controls.Add(New Web.UI.WebControls.TableHeaderCell)

        For Each d As GridDate In Dates
            Dim hCell As New Web.UI.WebControls.TableHeaderCell
            hCell.Text = d.Value
            hRow.Controls.Add(hCell)
        Next
        output.Controls.Add(hRow)

尽管创建了标题行并将section属性设置为header,但结果仍然是tbody下的所有内容。我做错了什么?

enter image description here

2 个答案:

答案 0 :(得分:0)

我发布的代码中有错误。在我的代码的最后一行,我将新行追加到控件集合:

output.Controls.Add(hRow)

不要这样做。它似乎绕过了最终rending中ASP.NET TableRows独有的一些属性。在这种情况下,尽管设置正确,但它忽略了TableSection属性。您应该将行追加到Rows集合中:

output.Rows.Add(hRow)

答案 1 :(得分:0)

试试这个

Dim output As New Table
Dim hRow As New TableHeaderRow
For Each d As GridDate In Dates
    Dim hCell As New TableHeaderCell
    hCell.Text = d.Value
    hCell.Scope = TableHeaderScope.Column
    hRow.Cells.Add(hCell)
Next
output.Rows.Add(hRow)

这对我有用