1

レンダリングされた属性を介してレンダリングされていないコンポーネントによって空のスペースを取り除くにはどうすればよいですか?

オブジェクトのリストを dataTable に表示し、それらが持つプロパティで並べ替えたいと考えています。私はこれが好きですか:plaincopyをclipboardprintに表示しますか?

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

レンダリングされたもののため、行ごとに1つのアイテムのみが表示されます。どうすればこれを回避できますか? 他の機会にもこれに出くわしました...

ありがとうございました!

4

2 に答える 2

2

行ごとに1つの項目を。で表示することは明らかdatatableです。

2つの異なるデータテーブル(1つはxのレンダリング、もう1つはyのレンダリング)を作成し、cssそれに応じて同じテーブルの2つの列のように調整することができます。または、richfacesを使用する、1つに<rich:subTable>2つあるなどの助けになりますsubTabledataTable

于 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 に答える