【问题标题】:What does h:dataTable bodyrows attribute meanh:dataTable bodyrows 属性是什么意思
【发布时间】:2016-06-07 16:10:56
【问题描述】:

有人知道h:dataTable bodyrows 是什么意思吗?我尝试了一个简单的例子,但我不明白它应该做什么。

<h:dataTable bodyrows="d" value="#{index.publishDates}" var="d">

这是制作表格的某种捷径吗?由于bodyrows 注释,我看不到任何行。如果h:column 做列,那么bodyrows 做了什么?

我不明白the documentation

这必须是一个逗号分隔的整数列表。此列表中的每个条目都是应呈现“tbody”元素的行的行索引。

【问题讨论】:

  • 这正是documentation中所说的。
  • 还有"如果当前行索引包含在"bodyrows"属性中,检查是否渲染了需要关闭的"tbody"起始元素,如果是则关闭"tbody ” 元素。然后开始渲染“tbody”元素。否则,不渲染“tbody”元素。”如果您已阅读所有这些内容,为什么要将其设置为 "d"
  • 这并没有向我解释。任何人的例子?
  • 玩弄它并查看生成的 HTML...EJP 完全正确。这导致,客户端,在一个表中的多个 tbody 标记.. stackoverflow.com/questions/3076708/…。使用jsf时需要了解基本的html和css...
  • 谢谢大家,我能弄清楚它的作用。

标签: jsf jsf-2 datatable


【解决方案1】:

在 HTML 中,&lt;table&gt; 可以通过 &lt;tbody&gt; 拥有多个正文。

<table>
    <tbody>...</tbody>
    <tbody>...</tbody>
    <tbody>...</tbody>
</table>

默认情况下,&lt;h:datatable&gt; 只生成一个如下所示的主体。

<h:dataTable value="#{[1,2,3,4,5]}" var="i">
    <h:column>#{i}</h:column>
</h:dataTable>

<table>
    <tbody>
        <tr><td>1</td></tr>
        <tr><td>2</td></tr>
        <tr><td>3</td></tr>
        <tr><td>4</td></tr>
        <tr><td>5</td></tr>
    </tbody>
</table>

bodyrows 属性可用于指定以逗号分隔的行索引字符串,该字符串应作为新正文开始。

<h:dataTable value="#{[1,2,3,4,5]}" var="i" bodyrows="0,2,4">
    <h:column>#{i}</h:column>
</h:dataTable>

<table>
    <tbody>
        <tr><td>1</td></tr>
        <tr><td>2</td></tr>
    </tbody>
    <tbody>
        <tr><td>3</td></tr>
        <tr><td>4</td></tr>
    </tbody>
    <tbody>
        <tr><td>5</td></tr>
    </tbody>
</table>

另见:

【讨论】:

  • C先生的好例子。感谢您抽出宝贵时间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-13
  • 2016-04-06
  • 1970-01-01
  • 2019-06-12
  • 2010-10-23
  • 2018-12-10
  • 1970-01-01
相关资源
最近更新 更多