2012-08-23 45 views
7

Tengo una ventana con panel dentro de la ventana. Agrego componentes al panel dinámicamente. Estos componentes están en disposición 'hbox' para que estén dispuestos horizontalmente. Al hacer clic en un botón, agregaré una fila más de componentes similares en el diseño 'hbox' al panel. Aquí el problema es que quiero agregar la segunda fila debajo de la primera fila, pero el siguiente código agrega los componentes a la parte superior del panel.Panel ExtJs: agregar componentes dinámicos

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

¿Alguna idea para resolver este problema? para que pueda agregar una segunda fila de componentes debajo de la primera fila.

Extjs versión es 3.4

Respuesta

12

encontré la causa del problema.

Causa: cuando añadimos componentes con el mismo 'Identificación' a un panel, entonces el componente que acaba de agregar conseguirá agregado a la parte superior del panel.

Fix: Uso 'itemId' en lugar de 'Identificación' al tiempo que añade mismo componente al panel.

Espero que esto sea útil para alguien.

7

Usted puede utilizar insert método en lugar de especificar el índice de elementos del panel que desea poner su componente en:

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

Para mi pregunta, su respuesta es correcta. Pero aún así no podría lograrlo en mi marco. Necesito verificar con mi marco. Muchas gracias. – AJJ

Cuestiones relacionadas