2012-04-18 10 views
0

JSFの新機能はほとんどありません。私はdatatableとeventhandlingに関する質問があります。ここで私がしたいと思うシナリオです。 優先度、ID、アドレス、電話番号、およびバッキングBeanがPersonであるデータテーブルを持っています.3つの値Critical、Warning、Lowに基づいてPriorityカラムをソートする必要があります。私はコンパレータのものを使用して優先順位の列をソートしました。そのうまく動作します。 さて、管理対象のBeanでレコードがソートされたら、データテーブルに更新されたソート結果を設定したいと思います。レコードはArrayListです。管理対象Bean、ヘッダーセクションのcommandLinkをクリックした後のデータ読み込み可能な再ロード

public class PersonManagedBean{ 

private ArrayList<Person> personList; 

//getters and setters for personList. 

public String sortByPriority(){ 
    Collections.sort(personList, new PersonComparator()); 
    return null; 
} 
} 

<p:column> 
       <f:facet name="header" > 
        <h:commandLink action="#{personManagedBean.sortByPriority}"> 
         Pririty 
        </h:commandLink> 
       </f:facet> 
       #{person.priority} 
</p:column> 

Collections.sortラインが実行されると、私は、ソートpersonListレコードをデータテーブルを移入します。

あなたは私を助けてくれますか?

ありがとうございます。

+0

にショーケースの例で与えられたコードを見て、すでにあなたがしている場合を除き、それを行う必要があります(post)コンストラクタではなく、getterメソッドでDBからデータを間違って取得します。 – BalusC

答えて

0

私はあなたがまだあなたがより良いsortByとpのsortFunctionを使用して、この

<h:commandLink action="#{personManagedBean.sortByPriority}"> 
    <f:ajax render="@form"/> 
    Priority 
    </h:commandLink> 

のようなあなたの<h:commandLink

<f:ajax render="@form"/>を追加することによって、あまりにも動作するように既存のコードを変更することができると思いますが:列

これはどのように見えるのですか(<h:outputText value="の追加使用が単純なテキストより優れていることに注意してください)

<p:column sortBy="#{person.priority}" sortFunction="#{personManagedBean.sortByPriority}"> 
    <f:facet name="header" > 
     <h:outputText value="Priority"> 
    </f:facet> 
     <h:outputText value="#{person.priority}"/> 
</p:column> 

、これはsortByPriorityが(多かれ少なかれ)のようになります方法です

public int sortByPriority(Object Obj1, Object Obj2) { 

    if (Obj1 != null && Obj2 != null) { 

     //turn the Objects into Strings or some other objects 

     return newObj1.compareTo(newObj2); 

    } else { 
     return 0; 
    } 
} 

DataTable - Sorting

+0

解決のためのダニエルありがとう – greenworld2012

+0

@ greenworld2012あなたが歓迎です、もしあなたの質問を解決するなら、ここで答えを受け入れるべきです:http://meta.stackexchange.com/a/5235 – Daniel

関連する問題