【问题标题】:Hide datalist rows if empty in primefaces如果在 primefaces 中为空,则隐藏数据列表行
【发布时间】:2013-09-02 08:50:06
【问题描述】:

如果数据列表行为空,我试图隐藏它们,任何想法如何使用 CSS 类或任何其他最佳解决方案来做到这一点。我尝试使用渲染属性,但对我来说效果不佳。这是我的代码的一些代码sn-p

<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>

rendered 属性将行设为空,但不会隐藏它。我需要隐藏空行以使视图可接受。

【问题讨论】:

  • 贴一些代码sn-p
  • 没有任何代码或解释,你不应该期待答案。
  • 我编辑了我的问题。
  • 将rendered="#{a.functionality eq 1}" 更改为rendered="true" 以查看该列是否会被渲染。
  • 如果你的意思是你想知道列是否被渲染,是的,它被渲染了,我的问题不是关于渲染它关于隐藏渲染产生的空行。谢谢

标签: jsf-2 primefaces


【解决方案1】:

通过访问primefaces的ui-datalist-item类并检查该行是否为空并隐藏它来解决此问题。这是我使用的Css函数

.ui-datalist-item:empty {
        display: none;
    }

【讨论】:

    【解决方案2】:

    我解决了这个问题,方法是让一个函数为空以在侧面页脚中呈现:

      <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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-16
      • 1970-01-01
      • 1970-01-01
      • 2012-02-17
      • 1970-01-01
      相关资源
      最近更新 更多