2012-08-23 23 views
7

Tôi có một cửa sổ có bảng điều khiển bên trong cửa sổ. Tôi tự động thêm các thành phần vào bảng điều khiển. Các thành phần này nằm trong bố cục 'hbox' để chúng được sắp xếp theo chiều ngang. Khi nhấp vào một nút, tôi sẽ thêm một hàng khác của các thành phần tương tự trong bố cục 'hbox' vào bảng điều khiển. Ở đây vấn đề là tôi muốn thêm hàng thứ hai bên dưới hàng đầu tiên, nhưng đoạn mã sau thêm các thành phần vào đầu bảng.Bảng điều khiển ExtJs - thêm các thành phần động

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

Bất kỳ ý tưởng nào để giải quyết vấn đề này? để tôi có thể thêm hàng thứ hai của các thành phần bên dưới hàng đầu tiên.

ExtJS Phiên bản 3.4

Trả lời

12

tôi tìm ra nguyên nhân của vấn đề.

Nguyên nhân: khi chúng ta thêm các thành phần với nhau 'id' với một bảng điều khiển, sau đó các thành phần mới được bổ sung sẽ được thêm vào phía trên cùng của bảng điều khiển.

Fix: Sử dụng 'ItemID' thay vì 'id' khi thêm cùng một thành phần vào bảng.

Hy vọng điều này sẽ hữu ích cho ai đó.

7

Bạn có thể sử dụng insert phương pháp thay vì để xác định các chỉ số của mục bảng mà bạn muốn đặt thành phần của bạn tại địa chỉ:

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

Đối với câu hỏi của tôi, câu trả lời của bạn là chính xác. Nhưng tôi vẫn không thể đạt được nó trong khuôn khổ của tôi. Cần kiểm tra với khung của tôi. Cảm ơn rất nhiều. – AJJ