2010-11-29 28 views
0

J'ai un onglet défini comme ci-dessous, dans lequel je veux sélectionner l'onglet dynamique en utilisant la liaison dans Java.Problème de sélection d'onglet dans les surfaces de glace JSF

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

ici i Définir l'index onglet ci-dessous ..

panelTabSetRef.setSelectedIndex(0); 

il défini dans l'onglet selon l'indice donné, mais ne se concentre pas défini sur elle.

Répondre

0

Remplissage de panelTabSetRef.

//--- 

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

//--- 

Obtention du composant PanelTab de traitement PanelTabSet & en conséquence.

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

// Selecting tab to set focus 

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

//--- 

mise au point peut être réglée sur l'onglet sélectionné comme ci-dessous à l'aide de Java Script.

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

Index hors exception lié est élevé parce que le comité n'a pas été peuplée & enfants allant chercher de lui. Donner une valeur directement en tant que <ice:panelTabSet value="#{viewBatchBean.batch.batchConfigurationTabList}"/> remplit lorsque la page est rendue en conséquence. Donc, remplir manuellement le panelTabSetRef.

Dans la version plus récente de IceFaces, l'attribut tabIndex a été ajouté à panelTabSet.

+0

la solution que vous avez donnée est bonne mais quand j'utilise la méthode getChildren(), elle me donne la taille = 1 quand dans mon interface utilisateur c'est 6 ... donc ça me donne l'erreur en tant qu'index hors limite .. – Sweety

+0

pouvez-vous poster du code, alors faites-vous une meilleure idée à ce sujet. –

+0

Dans mon code il met l'accent sur la tabulation dynamiquement, mais ne rafraîchit pas cet onglet .. une fois que je clique sur cet onglet, puis seulement il rafraîchit.code est trop long, donc je ne peux pas le poster :) – Sweety