2011-10-13 10 views
0

J'ai une exigence qui consiste en une table en haut et une feuille d'onglet qui se compose de 3 onglets en bas. Au sein de 3 onglets contient 3 tables différentes, et mon exigence ici est un clic sur le tableau supérieur certaines données connexes doivent être affichées dans chacune des tables dans la feuille d'onglet.Remplir les données de la ligne de table sélectionnée par défaut dans une autre table

Cette fonctionnalité fonctionne bien pour moi lorsque je clique sur les lignes du tableau, mais le problème est lorsque l'application est chargée, la première ligne doit être sélectionnée par défaut dans la première table et les données associées doivent être remplies dans les tableaux à onglets. Comment puis-je l'implémenter en utilisant des écouteurs intégrés? Si un exemple est fourni, il sera d'une grande aide.

+0

reformater votre question, ce n'est pas lisible –

Répondre

0

Étant donné que la fonctionnalité fonctionne après avoir cliqué sur une ligne, je peux supposer que votre écouteur fonctionne correctement.

Je crois que vous pouvez simplement utiliser la méthode de table supérieure myTable.setValue(table.firstItemId()) après avoir initialisé la vue. En supposant que votre écouteur appelle (par exemple) la méthode myApplication.rowSelected(Item item), vous pouvez l'appeler manuellement après avoir défini la valeur de la table.

Exemple:

void init() { 
    myTable.addListener(new ItemClickEvent.ItemClickListener() { 
     void itemClick(ItemClickEvent event) { 
      rowSelected(event.getItem()); 
     } 
    }); 

    if(!myTable.getItemIds().isEmpty()) { 
     Object firstId = myTable.firstItemId(); 
     myTable.setValue(firstId); 
     myTable.rowSelected(myTable.getItem(firstId)); 
    } 
} 

void rowSelected(Item item) { 
    // Do stuff 
} 
Questions connexes