如何使用命令按钮在相同的表单中切换p:tab



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

还有一个客户端api方法叫做selectTab(index);

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

p:tabView有一个属性activeIndex,它是" active tab的Index " (Primefaces Documentation)。

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

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

在后台bean中定义一个动作方法switchTab(),并让它设置一个成员activeTab

然后使用此成员设置活动选项卡

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

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

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

那么你可以使用你的action方法调用的参数来直接设置活动索引

我使用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);

希望它能起作用

使用命令按钮在相同的表单中切换p:tab在客户端,只有您可以使用widgetVar来选择/查看选项卡,如下所示:

注意:tabIndex将从0开始的第一个选项卡

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

在服务器端,您可以使用p:tab的activeIndex属性绑定一个整数变量,然后执行方法来设置index

相关内容

  • 没有找到相关文章

最新更新