1

アイテムがリッチフェイス (4.3.1.Final) に追加されたときに発生する ajax イベントはありpickListますか? アイテムが選択されているかどうかに応じて、ボタンを無効にする必要があります。

開発者ガイドにはこれについてはまったく言及されていませんが、グーグルでこれを見つけました。提案された解決策を使用して、次の ajax イベントを使用しました。

<rich:pickList 
        var="item"
        value="#{someBean.selectedItems}">
    <a4j:ajax event="sourceblur" render="somePanelGroupWithTheButton" />
    <a4j:ajax event="targetblur" render="somePanelGroupWithTheButton" />
</rich:pickList>

これは機能します。ただし、ソース リストまたはターゲット リストがぼやけるたびにイベントが発生します。これは、私のニーズにはあまりにも頻繁です。

私も試し<a4j:ajax event="additems" />てみ<a4j:ajax event="removeitems" />ました。この場合、私が望むように、アイテムの削除または追加時にのみイベントが発生します。ただし、selectedItemsイベントが発生するまで、新しいアイテムは取り込まれません。これは、最初の項目を追加するとリストが空になり、2 番目の要素を追加するとサイズが 1 になるため、ボタンを再レンダリングするために使用できないことを意味します。

selectedItemsターゲット リスト ( ) が更新された後に起動する ajax イベントはありますか? (そして、このコンポーネントでサポートされている ajax イベントの完全なリストがどこかにあるはずですよね? )

ここで提案されているように、変更イベントも試しましたが、発生しません。

4

2 に答える 2

0

変更イベントをもう一度試してみたところ、突然機能しました。最初に試したときのタイプミスかもしれません。これが行く方法です:

<rich:pickList 
        var="item"
        value="#{someBean.selectedItems}">
    <a4j:ajax event="change" render="somePanelGroupWithTheButton" />
</rich:pickList>

イベントがトリガーされてsomePanelGroupWithTheButton再レンダリングされるsomeBean.selectedItemsと、正しいアイテムが取り込まれます。

これは 4.3.0.M2 で解決された問題です: https://issues.jboss.org/browse/RF-12360

サポートされているイベントは次のpickList場所にあります: http://docs.jboss.org/richfaces/4.3.X/4.3.0.CR1/vdldoc/rich/pickList.html

于 2013-06-11T08:43:22.607 に答える
0

これを試して:

<rich:pickList 
        var="item"
        value="#{someBean.selectedItems}">
    <a4j:ajax event="transfer" render="somePanelGroupWithTheButton" />
</rich:pickList>
于 2015-04-22T19:19:13.480 に答える