简体   繁体   English

JSF icefaces中的选项卡选择问题

[英]Tab selection problem in JSF icefaces

I have one tab set as below ,in which i want select dynamic tab using binding in java. 我有一个选项卡设置如下,我想在Java中使用绑定选择动态选项卡。

<ice:panelTabSet var="currentTab" partialSubmit="true"  selectedIndex="#{viewBatchBean.tabSelectedIndex}"
            value="#{viewBatchBean.batch.batchConfigurationTabList}"
            tabChangeListener="#{viewBatchBean.showDefaultValueForTab}"
            binding="#{viewBatchBean.panelTabSetRef}">

here i set tab index as below.. 在这里我将标签索引设置如下。

  panelTabSetRef.setSelectedIndex(0);

it set tab as per given index but doesn't set focus on it. 它会根据给定的索引设置标签,但不会将焦点放在该标签上。

Populating the panelTabSetRef. 填充panelTabSetRef。

//---

for(SomeObject tabConfig : batchConfigurationTabList){
   PanelTab panelTab = new PanelTab();
   // Setting appropriate values in panelTab
   panelTabSetRef.getChildren().add(panelTab);
}

//---

Fetching the PanelTab component from PanelTabSet & processing it accordingly. 从PanelTabSet获取PanelTab组件并进行相应处理。

List<UIComponent> panelTabs= panelTabSetRef.getChildren();

// Selecting tab to set focus

PanelTab focusTab = (PanelTab) panelTabs.get(tabSelectedIndex);
String tabId = focusTab.getId();

//---

Focus can be set on the selected tab as below using Java Script. 可以使用Java脚本在以下选定的选项卡上设置焦点。

JavascriptContext.addJavascriptCall(FacesContext.getCurrentInstance(), "someJSMethodToSetFocus('someForm:"+tabId+"');");

Index out of bound exception is raised because the panel has not been populated & fetching children from it. 由于未填充面板并从中获取子级,因此引发了索引超出范围的异常。 Giving value directly as <ice:panelTabSet value="#{viewBatchBean.batch.batchConfigurationTabList}"/> populates when the the page is rendered accordingly. 直接呈现<ice:panelTabSet value="#{viewBatchBean.batch.batchConfigurationTabList}"/>将在相应呈现页面时填充。 So manually populating the panelTabSetRef. 因此,手动填充panelTabSetRef。

In newer IceFaces version, tabIndex attribute has been added to panelTabSet. 在更新的IceFaces版本中,tabIndex属性已添加到panelTabSet中。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM