我试图隐藏一个datalist行,如果它们是空的,任何想法如何使用CSS类或任何其他最佳解决方案。我试图使用渲染属性,但它对我来说不起作用。这是我的代码的一些代码片段
<p:tab id="airAccor" title="AIR" titleStyle="height: 20px; font-size :8pt; font-weight: bolder;">
<p:dataList value="#{wFDesignBean.components}" var="a" id="airComponentsOrderList">
<p:row rendered="#{a.functionality eq 1}">
<h:outputLabel id="airCompName" value="#{a.name}" title="#{a.name}" />
</p:row>
<p:draggable id="dragableForAirComp" for="airCompName" helper="clone"/>
</p:dataList>
</p:tab>
呈现的属性将行放空,但它不会隐藏它。我需要隐藏空行以使视图可以接受。
答案 0 :(得分:2)
通过访问primefaces的类ui-datalist-item
并检查行是否为空来解决这个问题,所以隐藏它。这里是我使用的Css函数
.ui-datalist-item:empty {
display: none;
}
答案 1 :(得分:1)
我通过使一个函数为空来在facet footer中呈现来解决这个问题:
<f:facet name="footer" >
<h:outputText value="#{myBundle.ListGroupEmpty}" rendered="#{groupController.isGroupsEmpty()}"/>
</f:facet>
和
public boolean isGroupsEmpty(){
if (groups == null) {
return true;
}
if (groups.size()<1){
return true;
}
return false;
}