如果没有要显示的数据,jsf数据表仅显示标题。怎么说没有可用的记录,也告诉我有没有办法让行索引没有特定的方法。提前谢谢
。 。
答案 0 :(得分:1)
您可以使用相关组件的rendered
属性来设置是否在组件树中呈现它。 E.g。
<h:dataTable value="#{bean.data}" rendered="#{not empty bean.data}">
...
</h:dataTable>
<h:outputText value="Data is empty!" rendered="#{empty bean.data}" />
如您所见,它可以采用布尔表达式,因此以下任何布尔表达式示例都是有效的:
<h:someComponent rendered="#{bean.booleanValue}" />
<h:someComponent rendered="#{bean.intValue > 10}" />
<h:someComponent rendered="#{bean.objectValue == null}" />
<h:someComponent rendered="#{bean.stringValue != 'someValue'}" />
<h:someComponent rendered="#{!empty bean.collectionValue}" />
<h:someComponent rendered="#{!bean.booleanValue && bean.intValue != 0}" />
<h:someComponent rendered="#{bean.stringValue == 'oneValue' || bean.stringValue == 'anotherValue'}" />
not
是!
的别名。有关可用EL运算符的更多信息,请参见here。
要获得rowindex,请使用UIData#getRowIndex()
:
<h:dataTable binding="#{table}">
<h:column><h:outputText value="#{table.rowIndex + 1}" /></h:column>
</h:dataTable>
答案 1 :(得分:1)
<h:column>
<f:facet name="header">
<h:outputText value="S.No"></h:outputText>
</f:facet>
<h:outputText value="#{row+1}"></h:outputText>
</h:column>
.
.
我使用tomhawk实现了它