2009-07-06 12 views
0

ui:repeatの複数のDataTableで複数のselectBooleanCheckBoxを使用する際に問題が発生します。バッキングBeanでは、このui:repeatのDataTableのselectBooleanCheckbox

<ui:repeat var="f" value="#{mybean.values}"> 
    <rich:dataTable value="#{f.values}" var="v"> 
     <rich:column> 
      <h:selectBooleanCheckbox value="#{mybean.selected[v.id]}"/> 
     </rich:column> 
    </rich:dataTable> 
</ui:repeat> 

よう

何かが、選択されたマップでは、私が間違っているのIDを見つけました。

もう1つの奇妙な振る舞いは、sortBy属性を使用して列をソートすると、レンダリングされたすべての列がソートされることです。私が代わりに

<ui:repeat /> 

<c:forEach /> 

タグを使用している場合

が、私は少し良くですJIRA

RichFaces JIRA

上のバグを発見しました(無ソートしませんテーブル間では、より多くの値がバッキングBean内にあります)が、時には間違っている

アイデア?

おかげで、

+0

あなたはどのIDを取得していますか(つまり、同じIDです)? – Damo

+0

いいえ、そうではありません。各行には異なるIDが割り当てられています。ありがとう。 –

答えて

0

私はセットにバインドしていたので、値の順序を解決しました。私はSortedSetを使用しました。とにかくありがとう。

1

a4j:repeatを使用してみてください。

多くの場合、Richfacesを使用してui:repeat(通常はa4j:commandLink/commandButton)から値を更新する際に問題が発生します。

EDIT:あなたは、リスト/セットに追加するクラスに対してよく定義されたequals()とhashcode()を持っていますか?

+0

アドバイスをいただきありがとうございます、残念ながら問題を解決しませんでした。 –

+0

はい、私はそれを定義しましたが、問題はrichfacesにあり、バッキングBeanの値は間違っています。それは、拡張データ・モデルの介入の問題によく似ています。 –