0

Richfaces 4.1.0.Final を使用しています。この投稿に似た問題がありますが、救済策 (true を返す;) がうまくいきません。私が使用している Richfaces のバージョンかもしれませんが、アップグレードは私にとって非常に困難であり、最初にそれが問題であることを確認するか、できれば回避策を​​見つけたいと考えています。

rich:tabPanel 内の rich:tab の rich:dataTable の rich:column に a4j:commandLink リンクがあります。リンクをクリックして、列データをバッキング Bean に保存し (たとえば、f:setPropertyActionListener を介して)、ユーザーに編集用の別のタブに切り替えてもらいたい (#{rich:component('TabPanel')} を使用) .switchToItem('EditTab');)

JavaScript ピースに oncomplete を使用すると、ハンドラーは起動しますが、switchToItem ピースは機能しません。代わりに JavaScript ピースに onclick を使用すると、ハンドラーは起動しませんが、switchToItem ピースは機能します。両方必要です。

誰かが解決策を知っていますか? これは、Richfaces のこのバージョンの既知の問題ですか? 他のコンポーネントを使用してこの問題を回避する方法を知っている人はいますか?

事前にお詫び申し上げますが、コードを投稿することはできません。

ありがとう、ジョン

アップデート:

Richfaces 4.2.2.Final にアップグレードしましたが、改善されませんでした。oncomplete を使用して別のタブに切り替える場合、 a4j:commandLink を af:setPropertyActiopnListener とともに使用することは明らかに不可能です。

4

2 に答える 2

0

Ok、

2番目のf:setPropertyActionListenerを追加して、TabPanelのactiveItemをEditTabに設定しました。次に、oncomplete = "location.reload(true);"を追加しました。すべてを更新し、正しいアクティブなタブで再描画します。

それは機能しますが、それでもより良いアプローチを聞きたいです。

于 2012-05-23T19:52:29.517 に答える
0

RichFaces 4.2.2.Final で試してみたところ、onclick を使用したときにうまくいきました。

<rich:dataTable value="#{model.simple}" var="item">
    <rich:column>
        <a4j:commandButton value="click me" onclick="#{rich:component('tabPanel')}.switchToItem('tab3');" action="#{bean.action}">
            <a4j:param assignTo="#{bean.parameter}" name="param" value="#{item}"/>
        </a4j:commandButton>
    </rich:column>
</rich:dataTable>

<rich:tabPanel id="tabPanel">
    <rich:tab name="tab1">tab 1 content</rich:tab>
    <rich:tab name="tab2">tab 2 content</rich:tab>
    <rich:tab name="tab3">tab 3 content</rich:tab>
</rich:tabPanel>

よろしく、 パロ

于 2012-05-25T14:06:27.433 に答える