2013-04-30 5 views
0

Вот мое дерево панель, что я использую:Extjs - Лучший способ показать дерево в окне

var tree = Ext.create('Ext.tree.Panel', { 
       store: mystore, 
       rootVisible: false, 
       useArrows: true, 
       frame: true, 
       title: 'Organization Tree', 
       renderTo: 'org-filter-window', 
       width: 600, 
       height: 400, 
       dockedItems: [{ 
        xtype: 'toolbar', 
        items: [{ 
         text: 'Expand All', 
         handler: function() { 
          tree.expandAll(); 
         } 
        }, { 
         text: 'Collapse All', 
         handler: function() { 
          tree.collapseAll(); 
         } 
        }] 
       }] 
      }); 

и у меня есть это окно

var orgWindow = Ext.create("Ext.Window", { 
     store: myStoe, 
     title: 'Organization Tree', 
     width: 600, 
     height: 400, 
     html: '<div id="org-filter-window"></div>' 
    }); 

Не уверен, что лучший способ чтобы показать дерево внутри окна. Как вы можете видеть, я попытался отобразить панель дерева внутри окна html, и все работает хорошо, но я не уверен, что это предпочтительный способ.

Версия: Ext JS 4.0.7

+1

бы также предложить вам прочитать документы, это явно говорит вам не делать это: «Не используйте эту опцию, если компонент должен быть дочерним элементом контейнера. Администратор компоновки контейнера несет ответственность за визуализацию и управление дочерними элементами». –

ответ

2

Как насчет:

var orgWindow = Ext.create("Ext.Window", { 
     store: myStoe, 
     title: 'Organization Tree', 
     width: 600, 
     height: 400, 
     items: tree // <--- the only change is here 
    }); 

и удалить renderTo: 'org-filter-window', из tree определения

Смежные вопросы