我正在使用Richfaces 4.1.0.Final。 我有类似于this post的问题,但是补救措施(return true;)对我不起作用。 它可能是我正在使用的Richfaces的版本,但升级对我来说非常困难,我想首先验证问题,或者最好找到解决方法。
我在rich:tabPanel中的rich:tab中的rich:dataTable中的rich:列中有一个a4j:commandLink链接。我想点击链接,将列数据保存到支持bean(例如通过f:setPropertyActionListener),然后让用户切换到另一个选项卡进行编辑(使用:#{rich:component('TabPanel')} .switchToItem( 'EditTab');)
如果我对javascript片段使用oncomplete,则会触发处理程序,但switchToItem片段不起作用。如果我改为使用onclick来获取javascript片段,则处理程序不会触发,但switchToItem片段确实有效。我需要两个。
有谁知道解决方案?这是Richfaces版本中的一个已知问题吗?有谁知道如何使用其他组件解决这个问题?
我提前道歉,但我无法发布我的代码。
谢谢, 约翰
更新
我升级到Richfaces 4.2.2.Final,但没有任何改进。显然,如果你还使用oncomplete to switchToItem另一个选项卡,则不可能将a4j:commandLink与f:setPropertyActiopnListener一起使用。
答案 0 :(得分:0)
确定,
我添加了第二个f:setPropertyActionListener来将TabPanel的activeItem设置为EditTab。然后我添加了oncomplete =“location.reload(true);”刷新所有内容并使用正确的活动选项卡重绘。
它有效,但我仍然希望听到更好的方法。
答案 1 :(得分: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>
此致 帕洛阿