2009-11-11 4 views
1

A l'intérieur de mes extensions FormPanel, j'ai plusieurs grilles d'éditeur. Je ne connais pas les ID de ces grilles, donc je ne peux pas utiliser Ext.getCmp.Obtention de types editorGrid enfants dans un FormPanel

Quelle est la meilleure façon de dire 'Obtenez tous les types editorgrid qui sont dans ce FormPanel'?

Répondre

1

Vous pouvez filtrer la collection items du panneau FormPanel par le type de chaque élément en utilisant isXType:

var grids = formPanel.items.filterBy(function (item) { 
    return item.isXType("editorgrid"); 
}); 

grids sera une nouvelle collection de tous les articles EditorGridPanel.

Mise à jour: Une façon plus concise:

var grids = formPanel.findByType("editorgrid", true); 
+0

fonctionne parfaitement. Merci! – 29er

0

Bien que nous évitons hardcoding ID DOM, ayant des ID de composants disponibles peut être à portée de main.

... });

this.gridTwoId = Ext.id(null, 'gridTwo'); // guaranteed unique 
new Ext.grid.GridPanel({ 
     id: this.gridTwoId, 
     store: storeTwo, 
     columns: columnsTwo, 
     title: 'Grid Two', 

... });