我正在使用RichFaces4.1.0.Final。我有一个类似于this post的问题,但是补救(返回true;)对我不起作用。它可能是我正在使用的Richfaces版本,但是升级对我来说是非常困难的,我想首先验证这就是问题所在,或者最好找到一个解决办法。
我在rich:列的rich:dataTable中有一个4j:commandLink链接,在rich:tabPanel中有一个选项卡。我想单击链接,将列数据保存到后台bean (例如,通过f:setPropertyActionListener),然后让用户切换到另一个选项卡进行编辑(使用:#{rich:component('TabPanel')}.switchToItem('EditTab');) )
如果我对javascript部分使用oncomplete,那么处理程序就会触发,但是switchToItem部分不能工作。如果我对javascript部分使用onclick,则处理程序不会触发,但是switchToItem部分确实能工作。我两者都需要。
有人知道解决办法吗?在这个版本的Richfaces中,这是已知的问题吗?有人知道我如何使用其他组件来解决这个问题吗?
我事先道歉,但我不能发布我的代码。
谢谢,约翰
更新:
我升级到RichFaces4.2.2.Final,但没有任何改进。显然,如果您还使用oncomplete另一个选项卡,那么使用f:setPropertyActiopnListener的4j:commandLink是不可能的。
发布于 2012-05-23 11:52:29
好的,
我添加了第二个f:setPropertyActionListener来将TabPanel的activeItem设置为EditTab。然后,我添加了oncomplete="location.reload(true);“来刷新所有内容,并使用正确的active选项卡重新绘制。
很管用,但我还是想听听更好的方法。
发布于 2012-05-25 06:06:27
我在RichFaces 4.2.2中试用了它,当我使用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>
你好,帕洛
https://stackoverflow.com/questions/10622453
复制相似问题