У меня есть форма и дерево панелей, когда я отправляю эту форму, я хочу обновить свое дерево новыми добавленными данными.
, так что это код кнопки отправки в моей форме (вы можете видеть всея пытался, это беспорядок извините)
buttons: [{
text: 'Save',
handler: function () {
this.up('form').getForm().submit({
url: 'AddData.ashx',
params: { action: 'addasset' },
success: function (form, action) {
Ext.MessageBox.show({
title: 'Success !',
msg: 'Asset added successfully<br />',
icon: Ext.MessageBox.INFO
})
}
})
//refresh tree
// var at = Ext.getCmp('atree'); at.getLoader.load(at.getRootNode(Ext.decode(objt.TreeToJson())));
// ATreeStore.loadData(Ext.decode(objt.TreeToJson()));
// var at = Ext.getCmp('atree');
// at.getView().getTreeStore().setRootNode(at.getView().getTreeStore().getRootNode().getChildAt());
// at.getView().refresh();
// Ext.ComponentQuery.query('treepanel')[4].getStore().load();
// Ext.ComponentQuery.query('assettree')[0].setRootNode(Ext.decode(objt.AssetTreeToJson()));
// ATreeStore.setRootNode(ATreeStore.getRootNode().getChildAt());
// ATreeStore.load();
ATreeStore.setRootNode(Ext.decode(objt.TreeToJson()));
}
}, {
text: 'Cancel',
handler: function () {
this.up('form').getForm().reset();
}
}]
вот мой код дерева (не беспокойтесь о conext меню, я все еще пытаюсь сделать работу)
window.ATreeStore = Ext.create('Ext.data.TreeStore', {
root: Ext.decode(objt.TreeToJson())
});
var myContextMenu = new Ext.menu.Menu({
items: [{
text : 'Edit'
}, {
text: 'Delete'
}]
});
Ext.define("Ext.app.ATree", {
extend: "Ext.tree.Panel",
alias:"widget.atree",
title: ' my tree',
height: 200,
//id: 'atree',
layout: 'fit',
//width: 300,
border: false,
store: ATreeStore,
//rootVisible: false,
useArrows: true,
frame: true,
closable: true,
collapsible: true,
animCollapse: true,
draggable: true,
resizable: true,
margin: ' 5 5 5 5',
dockedItems: [{
xtype: 'toolbar',
items: [{
text: 'reload',
handler: function () {
Ext.ComponentQuery.query('atree')[0].setRootNode(Ext.decode(objt.AssetTreeToJson()));
}
}, {
text: 'delete',
handler: function (record) {
alert(record.data.id)
}
}]
}],
listeners: {
itemcontextmenu:
function (node, event) {
node.select();
myContextMenu.showAt(event.xy);
}
}
});