为了获取数据表的行号,我在这里得到了一个答案,我可以将dataTable直接绑定到视图(JSF 2 dataTable row index without dataModel)。
我在复合组件中使用该功能,并且可能在同一页面中有几个。我相信绑定使得不可能在每个页面上使用多个组件;是否有可能以某种方式“单独”绑定每个表?
答案 0 :(得分:1)
使用UIData
属性创建支持组件类。
@FacesComponent("fooComponent")
public class FooComponent extends UINamingContainer {
private UIData table;
// +getter +setter
}
然后将其绑定到#{cc.table}
(#{cc}
引用当前支持组件实例)。
<cc:interface componentType="fooComponent">
...
</cc:interface>
<cc:implementation>
<h:dataTable binding="#{cc.table}" ...>
<h:column>#{cc.table.rowIndex + 1}</h:column>
...
</h:dataTable>
</cc:implementation>
答案 1 :(得分:0)
只需使用ui:repeat,它已通过varStatus.index内置支持。