JSF:呈现属性导致的空白



如何通过未通过渲染属性渲染的组件来消除空白?

我想在dataTable中显示一个对象列表,并根据它们的属性对它们进行排序。我这样做:查看剪贴板打印的普通副本?

<t:dataTable value="#{someBean.values}" var="value">  
    <h:column>  
        <f:facet name="header">  
            <t:outputText value="X" />  
        </f:facet>  
        <h:panelGroup rendered="#{value.property eq 'X'}">  
          <!-- some stuff -->  
        </h:panelGroup>  
    </h:column>  
    <h:column>  
        <f:facet name="header">  
            <t:outputText value="Y" />  
        </f:facet>  
        <h:panelGroup rendered="#{value.property eq 'Y'}">  
          <!-- some stuff -->  
        </h:panelGroup>  
    </h:column>                 
</t:dataTable>  

由于渲染的内容,它将每行仅显示一个项目。我该如何避免这种情况?我也在其他场合对此感到困惑。。。

谢谢!

使用datatable每行显示一项是显而易见的。

您可以更好地拥有两个不同的数据表,一个渲染x,另一个渲染y,并相应地调整css,使其看起来像同一表的两列。或者使用richfaces,<rich:subTable>会对您有所帮助,例如在单个dataTable 中有两个subTable

使用单个列并在其中进行渲染。

<t:dataTable value="#{someBean.values}" var="value">  
    <h:column>  
        <f:facet name="header">  
            <t:outputText value="#{value.property}" />  
        </f:facet>  
        <h:panelGroup rendered="#{value.property eq 'X'}">  
          <!-- some stuff -->  
        </h:panelGroup>  
        <h:panelGroup rendered="#{value.property eq 'Y'}">  
          <!-- some stuff -->  
        </h:panelGroup>  
    </h:column>                 
</t:dataTable>

相关内容

  • 没有找到相关文章

最新更新