2012-08-23 11 views
7

Ho una finestra con pannello all'interno della finestra. Aggiungo componenti al pannello in modo dinamico. Questi componenti sono nel layout 'hbox' in modo che siano disposti orizzontalmente. Al clic di un pulsante aggiungerò un'altra riga di componenti simili nel layout 'hbox' al pannello. Qui il problema è che voglio aggiungere la seconda riga sotto la prima riga, ma il codice seguente aggiunge i componenti nella parte superiore del pannello.Pannello ExtJs - aggiunta di componenti dinamici

panel.add(items); #items is the group of comboboxes in hbox layout 
panel.doLayout(); 

Qualche idea per risolvere questo problema? in modo che io possa aggiungere la seconda fila di componenti sotto la prima riga.

ExtJS versione è 3.4

risposta

12

ho trovato la causa del problema.

Causa: quando aggiungiamo componenti con lo stesso 'id' a un pannello, quindi la componente appena aggiunto otterrà aggiunto alla parte superiore del pannello.

Fix: Usa 'itemId' invece di 'id', mentre l'aggiunta stesso componente al pannello.

Spero che questo sia utile per qualcuno.

7

È possibile utilizzare insert invece il metodo per specificare l'indice delle voci del pannello che si desidera mettere il componente a:

var index = panel.items.length; 
panel.insert(index, items); 

// or if it always going to be the second item 
panel.insert(1, items); 

Here it is in the docs.

+1

Per la mia domanda, la tua risposta è corretta. Ma ancora non riuscivo a raggiungerlo nel mio schema. Ho bisogno di verificare con il mio framework. Molte grazie. – AJJ

Problemi correlati