我使用TreeStore
& TreePanel
。我需要在我的树中插入新节点,怎么做?
我有TreeStore
组件,他们关注配置:
var monPrestore = Ext.create('Ext.data.TreeStore', {
folderSort : true,
model : 'Task',
proxy : {
model : 'Task',
appendId: true,
type : 'ajax',
url : '/intranet-timesheet2-tasks-extjs/getJSON.tcl',
reader : {
type : 'json'
},
writer : {
type : 'json'
},
}
我已经使用空白值定义了任务模型(我想要插入的内容):
Ext.define('Task', {
extend : 'Ext.data.Model',
fields : [
{
name : 'task',
type: 'string'
},
{
name : 'material',
type: 'string'
},
{
name : 'cc',
type: 'string'
},
{
name : 'start_date',
type: 'string'
},
{
name : 'short_desc',
type: 'string'
},
{
name : 'id',
type: 'string'
}
]
});
我希望在事件itemdlclick
被触发时插入新记录:
我已经测试了但是它不起作用:
itemdblclick: function(view, model, htmlitem, index, e) {
var task = {
task: 't0',
material: 'm0',
cc: 'c0',
start_date: '12',
short_desc: 'sht',
id: '120',
leaf: true
};
monPretree.insert(4,task);
}
非常感谢:)!
答案 0 :(得分:9)
我想你问了类似的问题here!
树面板没有插入方法。您必须掌握树的根节点才能修改树。在您的情况下,您可能必须执行以下操作:
var rootNode = monPretree.getRootNode();
rootNode.insertChild(4,task);
有关其他树操作方法,请参阅NodeInterface的API文档。