2

したがって、次のテーブルがあるとしましょう。

        <p:dataTable id="genaricTable" var="item" value="#{genaricBean.currentValue}" >
            <p:columnGroup type="header"> 
                <p:row>
                    <p:column rowspan="" headerText="value1"/>
                    <p:column rowspan="" headerText="value2"/>
                    <p:column rowspan="" headerText="value3"/>
                </p:row> 
            </p:columnGroup>  
            <p:subTable var="subItem" value="#{item.subItemList}" >
                <f:facet name="header">  
                  #{item.header}
                </f:facet> 
                <p:column>
                    <h:outputText value="#{subItem.value1}"/>
                </p:column>
                <p:column>
                    <h:outputText value="#{subItem.value1}"/>
                </p:column>
                <p:column>
                    <h:outputText value="#{subItem.value1}"/>
                </p:column>
            </p:subTable>
        </p:dataTable>

組み込みのプライムフェイス コンポーネントを使用して、サブカラム テーブルでフィルター処理/並べ替えを行う方法はありますか? 私が考えることができる唯一のことは、それを行うためのカスタム コマンド リンクを配置することです。

4

2 に答える 2

1

あなたが正しい。subTable 内の列定義にsortBy属性を追加すると機能しません。

ただし、非常に簡単な解決策があります。ヘッダー columnGroup内の列定義に追加します。そこで定義されている場合、PrimeFaces DO はこの属性を処理します。

このアプローチはおそらくfilterByでも機能すると思いますが、試していません。

<p:columnGroup type="header"> 
    <p:row>
        <p:column rowspan="" headerText="value1" sortBy="#{subItem.value1}"/>
        <p:column rowspan="" headerText="value2"/>
        <p:column rowspan="" headerText="value3"/>
    </p:row> 
</p:columnGroup>

編集:もちろん、基礎となるデータセットを考慮に入れる必要があります。階層データではそれほど単純ではないため、ソート式として別のものを使用するか、管理対象 Bean に少し回避策を記述することもできます。この式は、単にソリューションを説明するために使用しました。

于 2013-05-08T10:05:45.310 に答える
-1

サブカラムテーブルをソートするために、サブカラムに sortBy を追加できます..このようなもの..

            <p:column sortBy="#{subItem.value1}">
                <h:outputText value="#{subItem.value1}"/>
            </p:column>

試してみてください..

于 2013-03-15T09:56:12.513 に答える