Мне нужно, чтобы панель элементов Extjs Tree с динамическими удаленными данными (JSON) для перечисления файлов.Extjs 4, Dynamic Tree и повторное отображение хранилища
и имя поля даты не подходит для поля хранения дерева Extjs. поэтому мне нужно переназначить, чтобы подгонять, например добавить поле листа и текстовое поле.
возвращение JSON данные, как это:
[{
"id":1,
"yourRefNo":"A91273",
"documentName":"Test Document",
"documentFileName":"login_to_your_account-BLUE.jpg",
"updatedBy":"root root",
"updatedAt":"\/Date(1343012244000)\/"
}]
и это дерево панель:
Ext.define('App.view.Document.DocumentList', {
extend :'Ext.tree.Panel',
rootVisible : false,
alias: 'widget.Document_list',
store: 'DocumentList_store'
});
и это магазин:
Ext.define('App.store.DocumentList_store', {
extend: "Ext.data.TreeStore",
model: 'App.model.DocumentList_model',
proxy: {
type: 'ajax',
url: '/Document/GetDocumentList/',
actionMethods: {
read: 'POST'
},
reader: {
type: 'json',
root: '' // there is no root
},
pageParam: undefined,
startParam: undefined,
pageParam: undefined
},
root: {
children: []
},
autoLoad: false,
listeners: {
append: function (thisNode, newChildNode, index, eOpts) {
console.log(newChildNode.get('documentName')); // 'Test Document'
newChildNode.set('leaf', true);
newChildNode.set('text', newChildNode.get('documentName'));
// it does not add to tree panel.
}
}
});
после загрузки данных из сервер, и он хорошо вызывает функцию добавления. но после этого в панели дерева ничего не отображается.
Что я делаю неправильно? пожалуйста, советую мне.
Благодаря
[EDIT]
Это модель,
Ext.define("App.model.DocumentList_model", {
extend: "Ext.data.Model",
fields: [
'id','yourRefNo','documentName','documentFileName','updatedBy','updatedAt'
]
});
Есть несколько вещей, которые могут пойти не так с вашим кодом. Было бы полезно увидеть, как ваше определение модели дает вам полный ответ. Но на данный момент, я думаю, вы игнорируете тот факт, что хранилище деревьев обертывает ваши узлы с помощью 'NodeInterface'. Учитывая это, возвращаемый json недействителен с деревом. Для запуска вы должны предоставить корневой узел. Есть больше вещей, на которые нужно смотреть, но это начало. Если вы предоставите определение модели, мы сможем помочь дальше. – Izhaki
@ Ижаки Я добавил свою модель в конце своего вопроса, не могли бы вы снова рассмотреть мой вопрос? спасибо за помощь! –