我不知道为什么这不起作用。我正在尝试从后端代码创建一个表头部分,但一切都进入了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下的所有内容。我做错了什么?
答案 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)
这对我有用