0

我正在使用 Richfaces 4.1.0.Final。我有一个与这篇文章类似的问题,但是补救措施(返回 true;)对我不起作用。它可能是我正在使用的 Richfaces 版本,但升级对我来说非常困难,我想首先验证这是问题所在,或者最好找到解决方法。

我在rich:tabPanel 中的rich:tab 中的rich:dataTable 中有一个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

我使用 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 回答
0

好的,

我添加了第二个 f:setPropertyActionListener 将 TabPanel 的 activeItem 设置为 EditTab。然后我添加了 oncomplete="location.reload(true);" 刷新所有内容并使用正确的活动选项卡重绘。

它有效,但我仍然想听听更好的方法。

于 2012-05-23T19:52:29.517 回答