如何使用命令按钮以相同的形式切换p:选项卡

时间:2011-04-18 08:57:19

标签: jsf primefaces tabview

如何使用命令按钮切换到选项卡(<p:tab>)?

4 个答案:

答案 0 :(得分:7)

还有一个名为selectTab(index)的客户端api方法;

<p:commandButton type="button" onclick="widgetvar.selectTab(2)" value="Show" />

答案 1 :(得分:2)

p:tabView的属性activeIndex是“活动标签的索引”(Primefaces文档)。

您可以使用p:commandButton的操作方法设置此属性:

<p:commandButton value="Switch tab" action=#{myBean.switchTab} />

在您的支持bean中定义一个操作方法switchTab(),并让它设置一个成员activeTab

然后使用此成员设置您的活动标签

<p:tabView activeIndex=#{myBean.activeTab}>

如果您的服务器支持EL 2.2,您可以使用操作方法调用设置活动选项卡的索引:

<p:commandButton value="Switch tab" action=#{myBean.switchTab(2)} />

然后,您可以使用action方法调用的参数直接设置活动索引。

答案 2 :(得分:1)

我使用的是Primefaces 5.1,我所做的是在ManagedBean中绑定我的tabView并在那里设置activeIndex

在你的JSF中

<h:form prependId="false" id="form">
    <p:tabView id="tabPanel" widgetVar="tabPanel" binding="#{managedBean.tabView}" dynamic="true">
        <p:tab title="tab" >
        <p:commandButton action="#{managedBean.getBla}"
              icon="ui-icon-search" update=":form:tabPanel" immediate="true" >
              ...  

在您的ManagedBean中

private TabView tabView;
public TabView getTabView() {
    return tabView;
}

public void setTabView(TabView tabView) {
  this.tabView = tabView;

}

然后在你调用commandButton动作的方法中,你只需要做一个     tabView.setActiveIndex(1);

希望它有效:)

答案 3 :(得分:0)

使用命令按钮以相同的形式切换p:选项卡 在客户端,您只能使用widgetVar选择/查看选项卡,如下所示:

注意:tabIndex将从第一个标签的0开始。

<p:commandButton type="button" onclick="PF('tabWidgetVar').select(1)" value="Next" />

在服务器端,您可以将整数变量与p:tab的activeIndex属性绑定,然后使用excute方法设置索引。