Как переключить p: tab в той же форме, используя командную кнопку - PullRequest
5 голосов
/ 18 апреля 2011

Как переключиться на вкладку (<p:tab>) с помощью командной кнопки?

Ответы [ 4 ]

7 голосов
/ 18 апреля 2011

Существует также метод API на стороне клиента, который называется selectTab (index);

<p:commandButton type="button" onclick="widgetvar.selectTab(2)" value="Show" />
2 голосов
/ 18 апреля 2011

p:tabView имеет атрибут activeIndex, который является «Индексом активной вкладки» (Документация Primefaces).

Вы можете установить этот атрибут из метода действия вашего p:commandButton:

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

Определите метод действия switchTab () в вашем компоненте поддержки и позвольте ему установить член activeTab.

Затем используйте этот элемент, чтобы установить активную вкладку

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

Если ваш сервер поддерживает EL 2.2, вы можете установить индекс активной вкладки с помощью вызова метода action:

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

Затем вы можете использовать аргумент вызова метода действия для непосредственной установки активного индекса.

1 голос
/ 31 декабря 2014

Я использую Primefaces 5.1, и я привязал свой tabView в ManagedBean и установил там 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);

Надеюсь, это сработает:)

0 голосов
/ 15 февраля 2017

Чтобы переключить p: tab в той же форме с помощью командной кнопки. Только на стороне клиента вы можете использовать widgetVar для выбора / просмотра вкладки следующим образом:

Примечание.первая вкладка.

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

На стороне сервера вы можете связать целочисленную переменную со свойством activeIndex вкладки p: и затем использовать метод для установки индекса.

...