0

私は primefaces 3.5 を使用していますが、次の問題についてサポートが必要です。

選択モードが単一のデータテーブルがあり、選択された項目は、特定のオブジェクト プロパティではなく、オブジェクトへのバインドです。以下のサンプルコード:

<p:dataTable id="name" value="#{bean.items}" var="item" selectionMode="single" selection="#{bean.selected}" rowKey="#{item}">
<p:ajax event="rowSelect" />
<p:ajax event="rowUnselect" />
...
</p:dataTable>

アイテムの作成中、アイテムをすぐにデータベースに永続化するのではなく、アイテムのリストを維持し、アクションの保存ハンドラー中にリスト全体を永続化します。

問題は、新しく作成されたすべてのアイテムに対して、オブジェクト ID を生成せず (永続化時にデータベースで自動的に行われます)、テーブルでの行の選択中に、選択したアイテムが常に間違っていることです。一意のオブジェクト プロパティがなくても、正しい行選択を管理できますか?

4

1 に答える 1

1

自動生成されたキーを使用する場合は候補キーが必要なため、自動生成されたキー変更メソッドequals/hashcodeを他のフィールドに使用する場合、それは論理的な問題です。

于 2013-08-02T06:29:22.980 に答える