2017-02-06 4 views
0

次のコードのように、DAOからListに値を渡してデータシートをソートしようとしていますが、ソートできません。私は@ViewScoped backBeanで "アイテム" プロパティのゲッターのためのコードは明らかに何か?:primefacesリストでデータテーブル<Object[]>ソートに失敗しました

<p:dataTable id="mytable" var="item" 
value="#{backBean.items}" 
paginator="false" 
styleClass="mytableClass" 
> 

<p:column headerText="field4" sortBy="#{item[4]}"> 
    <h:outputText value="#{item[4]}"> 
    <f:convertNumber maxFractionDigits="1" > 
    </f:convertNumber> 
    </h:outputText> 
</p:column> 
... 
... 

をommitingアムは、次のとおりです。

itemsDAO.findItem()はJPAである
void List<Object[]> getItems(){ 
    if(items==null) 
     items = itemsDAO.findItem(); 
    return items; 
} 

クエリ私のリスト私は私のデータテーブルを供給している返す。

「ソート」矢印をクリックすると、テーブルをソートする際にエラーが発生し、そのページが最後に表示されている未使用のローダーでハングします。明快さを加えるために、アイテム[4]にはBigDecimalが含まれていますが、読んだところではStringやInteger以外の型の 'sortFunction'を実装する必要があります。申し訳ありませんが私はあまりにも明確ではない、それはここで私の2番目の投稿、私はいくつかのルールをスキップしている場合は私に知らせてください。ありがとう!

答えて

0

これは私

<p:dataTable id="mytable" var="item" 
    value="#{backBean.getAsList(4)}" 
    paginator="false" 
    styleClass="mytableClass" 
    sortOrder="desc" 
> 

<p:column headerText="field4" sortBy="#{item.myID}"> 
    <h:outputText value="#{item.name}"> 
    <f:convertNumber maxFractionDigits="1" > 
    </f:convertNumber> 
    </h:outputText> 
</p:column> 

のために働き、私はモデルが「MYID」という属性を持っており、これは(明らかに単なる一例)数だと思い

重要:データテーブルは、のためにリストを必要とします並べ替えの比較を行いますので、次のスナップを実装してください

public List<MyObject> getList(int i){ 
     return Arrays.asList(items.get(i)); //Convert array Object to List 
    } 

私はこの便利なことを望みます!よろしく!

関連する問題