0

SeamとJavaを使用して、オブジェクトで満たされたArrayListからの情報を含むh:dataTableを作成しています。私の質問は、ヘッダーの1つをクリックしてテーブルを並べ替える方法はありますか。私は今いくつかのコードを持っています、そしてそれがするすべてはそれがあったのと同じ方法でテーブルをリロードすることです。

これが私のコードの一部です。さらに必要な場合はお知らせください。表:

<h:dataTable value="#{deliveryPort.getWholeDeliveryList()}" var="delivery" rules="rows">
                    <h:column>
                        <div class="setWidth">
                            <div class="white">
                            <f:facet name="header">
                                <h:outputLink style="color:#FFFFFF" action="#{deliveryPort.sortByAddress()}">
                                    Address
                                </h:outputLink>
                            </f:facet>
                            </div>
                            <h:outputText value="#{delivery.address}" />
                        </div>
                    </h:column>

選別:

    public String sortByAddress(){
    for(int i = 0; i < wholeDeliveryList.size(); i++){
        for(int j= i+1; j<wholeDeliveryList.size(); j++){
            if(wholeDeliveryList.get(i).getAddress().compareTo(wholeDeliveryList.get(j).getAddress())<1){
                FlowerStoreDelivery temp = wholeDeliveryList.get(i);
                wholeDeliveryList.set(i, wholeDeliveryList.get(j));
                wholeDeliveryList.set(j, temp);
            }
        }
    }
    return "deliveryList.seam";
}

getWholeDeliveryList():

    public List<FlowerStoreDelivery> getWholeDeliveryList(){
wholeDeliveryList = new ArrayList<FlowerStoreDelivery>();
wholeDeliveryList.addAll(entityManager.createQuery("SELECT e FROM FlowerStoreDelivery e").getResultList());
    return wholeDeliveryList;
}
4

2 に答える 2

1

JSFの専門家であるBalusCによるこのブログでは、並べ替えなど、DataTableに関するより多くの情報を入手できます。

于 2012-07-16T16:35:17.767 に答える
0

たとえば、Richfacesのrich:dataTableは、列をクリックすることによる並べ替えをサポートしています。

于 2012-07-16T16:15:43.570 に答える