TableHeaderRow类的重点是什么?

时间:2012-11-15 12:12:50

标签: asp.net .net

我刚刚将一些代码从使用HtmlTable控件转换为基于网络的Table控件,我发现除TableRow类之外还有TableHeaderRow 。我愚蠢地基于这里的一半读取评论做出假设,如果一行是其中之一,它将被放入输出HTML中的thead元素中。事实并非如此。

当这不起作用时,我仔细观察并注意到TableHeaderRow似乎没有实际代码,并且TableSection的{​​{1}}属性并不关心它是否为TableRow或不。{/ p>

那么这种类型的重点是什么?看起来在实践中它与TableRow类完全相同,你仍然必须在其上设置TableHeaderRow属性,告诉它它是TableSection行。

这是否有一个很好的用例场景?我当然想不出一个......

修改条款

在我的调查中,我使用了Refactor来查看所涉及的代码。这就是我如何确定thead似乎来自TableHeaderRow,但实际上并未实现任何新的。{/ p>

在确定是否输出TableRow时,Table的呈现中,它看起来纯粹是thead属性。它并不关心行的实际类型是什么,我无法在任何地方找到一行代码,而这些代码的行为与行不同的行的类型完全不同。

我正在寻找一个实际的例子,说明它有何不同。虽然我很欣赏文档引用,但它们实际上似乎与我正在查看的代码不相符。

2 个答案:

答案 0 :(得分:4)

我想知道同样的事情。当我看到页面时 Creating ASP.NET table header row我意识到我没有像我应该设置TableSection属性:

hRow.TableSection = Web.UI.WebControls.TableRowSection.TableHeader

它在输出html中将<thead>元素设置为apear。

答案 1 :(得分:2)

根据this MSDN entry

  

此类支持在屏幕有限的设备上显示表格   尺寸。在这些设备上,必须有一个包含许多列和行的表   跨多个页面呈现。将TableHeaderRow添加到表中   control允许您指定呈现为的标题行   显示表格视图的每个页面上的第一行。

我从中推断,TableRow并没有提供这种支持。