1

如何摆脱未通过渲染属性渲染的组件的空白空间?

我想在 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>  

由于渲染的东西,它将仅每行显示一个项目。我怎样才能避免这种情况?我在其他场合也偶然发现了这个......

谢谢!

4

2 回答 2

2

很明显,每行显示一个项目datatable

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

于 2011-05-26T10:02:22.670 回答
1

使用单列并在其中渲染。

<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>
于 2011-05-26T11:09:37.413 回答