4 つのタブと 3 つのコマンド ボタン (カウント、テーブルに追加、Word にエクスポート) を含むタブ ビューがあります。
最初のタブにテキスト データを入力し、2 番目のタブに数値データを入力し、最初の commandButton(count) を押すと、プログラムはいくつかのカウントを行いますが、カウントの結果を表示する 3 番目のタブにアクティブ インデックスを設定できません。 .
<h:form id="dataForm1" prependId="false">
<div>
<p:commandButton id="count" update="tbv" process="tbv:tab1 tbv:tab2" />
<p:commandButton id="addToWord" .... />
<p:commandButton id="exportToWord" ... />
</div
<div>
<p:growl id="growlm" showDetail="true" />
<p:tabView activeIndex="#{disableTag.activeTabIndex}" id="tbv" tabChangeListener="#{disableTag.onTabChange}">
<p:ajax event="tabChange" listener="#{disableTag.onTabChange}" update=":dataForm1:growlm" />
<p:tab id="tab1">some text data </p:tab>
<p:tab id="tab2">some numeric data</p:tab>
<p:tab id="tab3">result of counting from tab2</p:tab>
<p:tab id="tab4">table</p:tab>
</p:tabView>
バッキング Bean public int getActiveTabIndex() { return activeTabIndex; }
public void setActiveTabIndex(int activeTabIndex) {
this.activeTabIndex = activeTabIndex;
}
public void onTabChange(TabChangeEvent event) {
TabView tv = (TabView) event.getComponent();
this.setActiveTabIndex(tv.getActiveIndex());
System.out.println("###### ACtive tab: "+activeTabIndex);
}
しかし、それは私にとってはうまくいきません。