2013-12-04 5 views
1

Привет Я пытаюсь загрузить данные для панели деревьев через json и
Я имею в виду this link. панель дерева отображается правильно, за исключением отсутствия данных.

вот мой код
Редактировать обновленный код, как Objectone предложилПанель дерева extjs не загружает данные json

Ext.require([ 
'Ext.tree.*', 
'Ext.data.*', 
'Ext.tip.*' 
]); 

Ext.onReady(function() { 

var store = Ext.create('Ext.data.TreeStore', { 
    proxy: { 
     type: 'ajax', 
     url: 'treeJson.json' 
    },  
    root: { 
     expanded: true 
    }, 
    folderSort: true, 
    sorters: [{ 
     property: 'text', 
     direction: 'ASC' 
    }] 
}); 

var tree = Ext.create('Ext.tree.Panel', { 
    store: store, 
    renderTo: 'tree-div', 
    height: 300, 
    width: 250, 
    title: 'Files', 
    useArrows: true, 
    dockedItems: [{ 
     xtype: 'toolbar', 
     items: [{ 
      text: 'Expand All', 
      handler: function(){ 
       tree.expandAll(); 
      } 
     }, { 
      text: 'Collapse All', 
      handler: function(){ 
       tree.collapseAll(); 
      } 
     }] 
    }] 
}); 

console.log(store.getRootNode()); 
}); 

здесь JSON

[ 
    { 
    "text": "To Do", 
    "cls": "folder", 
    "expanded": true, 
    "children": [ 
     { 
      "text": "Go jogging", 
      "leaf": true 
     }, 
     { 
      "text": "Take a nap", 
      "leaf": true 
     }, 
     { 
      "text": "Climb Everest", 
      "leaf": true 
     } 
    ] 
} 
] 

Firebug не показывает отсутствие ошибки,
Любая идея, что я делаю неправильно ?

Заранее спасибо

+0

Дать id для JSON as 'src' –

+0

Kishan, я попытался дать id для json, но это не сработало, теперь я удалил id из корня, но он показывает только root. – Sven

ответ

2

В хранении вы упоминаете корневой идентификатор как СРК, но ваш JSON не имеет идентификатор ЦСИ.

В JSON пример линии связи, как показано ниже, идентификатор упоминается как «SRC/FX», где SRC является корнем

{text:fx, id:src/fx, cls:folder, qtip:Type: Folder<br />Last Modified: Jul 9, 2013, 3:24 am} 

Чтобы получить ваши вещи работают только удалить идентификатор из корня

var store = Ext.create('Ext.data.TreeStore', { 
    proxy: { 
     type: 'ajax', 
     url: 'treeJson.json' 
    },  
    root: { 
     expanded: true 
    }, 
    folderSort: true, 
    sorters: [{ 
     property: 'text', 
     direction: 'ASC' 
    }] 
}); 
+0

благодарю вас за единицу за ваш ответ, я попробовал ваше предложение, но он пока не показывает никаких данных, кроме root. – Sven

+0

этот код РАБОТАЕТ на моем сервере, но НЕ на моей локальной машине, кажется, что-то не так с моим URL. +1 для вашего ввода :) – Sven

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