2010-11-02 6 views
0

J'ai un fichier mxml d'application flexible avec 3 onglets.Le premier onglet ayant le bouton de lien pour sélectionner la valeur dans le 3ème onglet. Supposons que j'ai un bouton de lien dans le premier atab. Et le 3ème onglet contient la liste déroulante avec des valeurs: "basic", "advanced". par défaut, la vaule affiche "default". Lorsque vous sélectionnez le bouton de lien sur le premier onglet, le "avancé" doit être affiché dans la comboBox sur le 3ème onglet. Le problème est que lorsque vous cliquez sur le bouton du premier onglet, le 3ème onglet n'est pas initialisé à ce moment-là. Il n'affiche donc pas le "advanced" dans la comboBox. en sélectionnant la 2ème fois sur le bouton lien, il s'affiche correctement. Mais pas la première fois.Navigateur à onglets flexibles

code: thirdTab.comboBoxId.selectedItem.data = 1;

S'il vous plaît, aidez-moi si besoin des changements

Répondre

0

Ajouter un écouteur d'événement au 3ème onglet qui est géré par la société mère du TabNavigator. Le gestionnaire de cet événement devrait être en mesure d'obtenir la valeur du premier onglet (qui peut être stocké dans le parent commun) et le retourner au 3ème onglet afin que le ComboBox là peut être correctement défini. Écoutez l'événement creationComplete à partir du 3ème onglet.

+0

cool..son idée sympa.Pouvez-vous passer un code d'échantillon pour cela, comment ajouter l'écouteur et répartir et attraper theevent sur le 3ème onglet. – Ravikanth

3

Un onglet est initialisé lorsqu'il est activé la première fois, votre code ne devrait donc pas fonctionner. Vous pouvez séparer le modèle de données et lier tous les contrôles de l'interface utilisateur au modèle.

+0

Ceci est la meilleure réponse. Vous devriez utiliser quelque chose semblable à MVC pour résoudre ce genre de problèmes –

0

La manière sale est de définir la propriété creationPolicy de votre onglet Navigator sur ContainerCreationPolicy.ALL. Cela assurera que tous les onglets sont initialisés à la fois.

La bonne façon est de séparer le modèle de la vue et en utilisant la liaison comme le dit Yuras.

Questions connexes