2010-12-15 72 views
0

Je souhaite afficher un seul GridPanel, que j'ajoute dynamiquement en basculant l'événement du bouton de clic, dans la fenêtre.La fenêtre ExtJS ajoute dynamiquement des éléments GridPanel et les affiche

var event_menu = new Ext.menu.Menu({ 
    id : "event_menu", 
    items : [ { 
     text : 'record1', 
     handler : function() { 
      win.add(item_list_panel);//dynamica add GridPanel to show server data 
      win.doLayout(); 
      item_list_store.load(); 
     } 
    }, { 
     text : 'record2', 
     handler : function() { 
          win.remove(item_list_panel);//I want to remove it inorder to show the item_list_panel2 and only show one panel. 
      win.add(item_list_panel2); 
      win.doLayout(); 
      item_list_store.load(); 
     } 
    } ] 
}); 

et ce menu appartient à ma fenêtre. lorsque je clique sur record win montrera item_list_panel et je veux quand je clique sur record2 le item_list_panel2 montrera dans la victoire et item_list_panel va se cacher. Si je win.remove(item_list_panel) aurai une erreur:

c.getPositionEl().dom is undefined 

Comment puis-je faire, Merci

Répondre

1

Je comprends à peine votre question, mais si je comprends bien vous pouvez le faire de plusieurs façons.

vous pouvez détruire le composant directement

item_list_panel.destroy() 

vous pouvez passer par vos articles et sélectionnez-le par id

win.items.item('item_id').destroy() 

Il existe également des moyens de le retirer sans complètement détruire, dépend ce que vous vouloir faire

+0

Merci, j'avais résolu ma question! – wilson

+0

si cela vous a aidé, aidez-moi et faites-en la réponse :) – neolaser

+0

Merci, cela a fonctionné pour mon problème avec le panneau ainsi que le composant bouton. –