JSF: пустое пространство, вызванное отображаемым атрибутом - PullRequest
1 голос
/ 26 мая 2011

Как я могу избавиться от пустого пространства компонентами, не отрисованными с помощью атрибута рендеринга?

Я хочу отобразить список объектов в 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>  

Это будет отображать только один элемент в каждой строке из-за визуализированной вещицы.Как я могу избежать этого?Я наткнулся на это и в других случаях ...

Спасибо!

Ответы [ 2 ]

2 голосов
/ 26 мая 2011

Очевидно, что один элемент отображается в каждой строке с помощью datatable.

Вы можете лучше иметь две разные таблицы данных, одну для x и другую для y и настроить соответственно css, который выглядит как два столбца одной таблицы. Или же использование richfaces , <rich:subTable> поможет вам, например, наличие двух subTable в одном dataTable

1 голос
/ 26 мая 2011

Используйте один столбец и визуализируйте там.

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