Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ExtJs panel - adding dynamic components

I have a window with panel in inside the window. I add components to the panel dynamically. These components are in 'hbox' layout so that they are arranged horizontally. On click of a button i will add one more row of similar components in 'hbox' layout to the panel. Here the problem is that i want to add the second row below the first row, but the following code adds the components to the top of the panel.

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

Any ideas to solve this problem? so that i can add second row of components below the first row.

Extjs Version is 3.4

like image 864
AJJ Avatar asked Aug 23 '12 09:08

AJJ


2 Answers

I found the cause of the problem.

Cause: when we add components with same 'id' to a panel, then the newly added component will get added to the top of the panel.

Fix: Use 'itemId' instead of 'id' while adding same component to the panel.

Hope this will be useful for someone.

like image 138
AJJ Avatar answered Nov 13 '22 10:11

AJJ


You can use insert method instead to specify the index of panel items that you want to put your component at:

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.

like image 35
egerardus Avatar answered Nov 13 '22 08:11

egerardus