2013-02-28 6 views
3
var tree = Ext.create('Ext.tree.Panel', { 
     store: store, 
     rootVisible: false, 
     //useArrows: true, 
     frame: true, 
     title: 'Vehicle List', 
     region:'west', 
     width: 200, 
     root: { 
     expanded: true 
     }, 
     checked : false, 
     height: 250, 
     dockedItems: [{ 
      xtype: 'toolbar', 
      items: { 
       text: 'Get checked nodes', 
       handler: function(){ 
        var records = tree.getView().getChecked(), 
         names = []; 

        Ext.Array.each(records, function(rec){ 
         names.push(rec.get('MainID')); 
        }); 

        Ext.MessageBox.show({ 
         title: 'Selected Nodes', 
         msg: names.join('<br />'), 
         icon: Ext.MessageBox.INFO 
        }); 
       } 
      } 
     }] 
    }); 

Как я могу получить дерево для расширения? Я пробовалКак развернуть панель дерева при загрузке страницы - EXTJS 4

root: { 
     expanded: true 
     } 

Но он все еще не работает.

ответ

4

Добавьте к вашей модели:

{ name: 'expanded', type: 'boolean', defaultValue: true, persist: false }, 

или альтернативно установить expanded на истину для каждого узла, вы вернетесь с сервера.

+0

Альтернативное решение работало для меня. – Michel

0
root: { 
     expanded: true 
     } 

Это должно быть в определении вашего магазина.

Что-то вроде ниже.

var store = Ext.create('Ext.data.TreeStore', { 
    root: { 
     expanded: true, 
     children: [ 
      { text: "a", leaf: true }, 
      { text: "b", expanded: true, children: [ 
       { text: "c", leaf: true }, 
       { text: "d", leaf: true} 
      ] } 
     ] 
    } 
}); 
+0

Если ниспадающий добавляет комментарий, он будет оценен. Это не похоже на то, чтобы отнять у меня деньги. Это сообщество. Это поможет другим – hop

+0

Я не знаю, почему кто-то проголосовал за это. Лучший ответ, чем принятый ответ, я думаю –