我一直在使用ui:repeat来生成表。使用ui:repeat可以很容易地使用varStatus对行进行编号。当调用支持bean来处理列表导航时,我依赖于来自varStatus的行id,例如在列表中上下移动一项。
现在我想创建一个复合组件,该组件构建一个可定制的表,该表具有标记行、向上/向下移动等所需的所有功能。为此,ui:repeat将不起作用,因为我看不到处理不同列数的方法;我需要在一个位置指定标题,在另一个位置指定正文(并且我还没有达到可以创建自定义组件的知识点)。因此,我转而使用datatable,因为使用数据表意味着在与正文内容相同的位置将标头指定为facet。
这很好用,直到我注意到由于某种原因不再有varStatus。我已经花了很多精力来处理列表表示,而不需要任何datamodel,我不想开始使用它。有没有办法在不使用datamodel的情况下获得表格中显示的当前行号
另外,我使用的是viewScope,如果我理解正确的话,这意味着我不能将dataTable绑定到bean。
发布于 2013-02-01 03:14:17
只需将表绑定到视图本身,而不是绑定到bean。
<h:dataTable binding="#{table}" ...>然后,您可以在必要时使用#{table.rowIndex}。例如。
<h:column>#{table.rowIndex + 1}</h:column>注意,代码是原样的,EL变量名table完全由您选择。
另请参阅:
https://stackoverflow.com/questions/14633008
复制相似问题