我正在使用Richfaces的jsf。我使用<rich:tabpanel>
创建了一个tabpanel。我已经选择了4个标签,例如 tab1 , tab2 , tab3 和 tab4 。如果我运行应用程序 tab1 是默认的。如果我转到下一个标签,我会为NEXT<<
和PREV>>
等每个标签使用导航。
如果我点击标签标签,它也会更改标签。如果我运行应用程序,我希望 tab1 处于活动状态,并禁用所有其他选项卡(例如 tab2 或 tab3 。如果我单击导航按钮,只有选项卡处于活动状态。)
如果我运行应用程序, tab1 将在填写 tab1 详细信息后处于活动状态。单击NEXT<<
导航然后 tab2 处于活动状态。现在 tab1 和 tab2 处于活动状态。 tab3 和 tab4 处于非活动状态。
上述两个问题的解决方案是什么?
答案 0 :(得分:0)
<rich:tabPanel switchType="ajax">
<rich:tab label="First">
Here is tab #1
</rich:tab>
<rich:tab label="Second" disabled="true">
Here is tab #2
</rich:tab>
<rich:tab label="Third" disabled="true">
Here is tab #3
</rich:tab>
</rich:tabPanel>
此处第二个和第三个标签将被禁用,您可以执行类似
的操作disabled= #{Bean.isDisabledTab1}
然后将它放在下一个上面
答案 1 :(得分:0)
补充org.life.java答案,您可以为切换标签时单击的按钮或链接添加动作侦听器,例如:
<a4j:commandLink id="identifierLink" value="#{bean.ID_COUNT}"
actionListener="#{bean.switchTab}" reRender="clientTabPanel, clientTable">
<f:param id="internalID" value="#{bean.INTERNAL_ID}" name="internalIDParam"/>
</a4j:commandLink>
switchTab动作侦听器方法将包含启用或禁用其他选项卡的逻辑(就像提到的org.life.java一样),并且您可以使用f:param,以防您在决定时将某些内容传递给动作侦听器切换与否。我认为您需要在更新“禁用”属性的相关属性时重新渲染tabPanel。