Extjs 如何在拖动后触发事件&;落在树上
如何使用Ext.tree.viewdplugin的事件 我有一个使用DDPplugin的TreePanel,但我想知道如何收听drop事件 这就是我的代码的样子:Extjs 如何在拖动后触发事件&;落在树上,extjs,panel,Extjs,Panel,如何使用Ext.tree.viewdplugin的事件 我有一个使用DDPplugin的TreePanel,但我想知道如何收听drop事件 这就是我的代码的样子: var monPretree = Ext.create('Ext.tree.Panel',{ id : 'treepanel', title : 'TITRE', //width : 800, //height : 600,
var monPretree = Ext.create('Ext.tree.Panel',{
id : 'treepanel',
title : 'TITRE',
//width : 800,
//height : 600,
width : 500,
enableDD: true,
useArrows : true,
viewConfig : {
plugins : {
ptype: 'treeviewdragdrop',
appendOnly: true,
listeners: {
drop: function (node, data, overModel, dropPosition) {
alert('CHANGE');
},
notifyDrop: function (dragSource, event, data) {
var nodeId = data.node.id;
alert(nodeId);
},
notifyOver: function (dragSource, event, data) {
alert('over');
}
}
}
},
singleExpand : false,
store : monPrestore,
rootVisible : false,
例如,我想触发丢弃事件,但我的代码不起作用
谢谢:)看一下文档:
beforeinsert( Tree tree, Node parent, Node node, Node refNode, Object options )
在将新的子节点插入到此树中的节点之前激发,返回false以取消插入 我有同样的问题,找到了这一页 文件中的事件部分有注释: “此事件通过TreeView触发。将侦听器添加到TreeView对象” 我试图在tree.Panel类中找到方法以获取视图,但未成功。所以,您只需将listners块放在配置的viewConfig部分(而不是插件部分):
您还可以通过覆盖TreeGrid或TreePanel中的dropConfig来捕获drop事件。下面是我如何做到的一个例子
var myTree = new Tree.TreePanel({
id: 'treepanel',
title: 'My Title',
enableDD: true,
ddGroup: 'GridDD',
dataUrl: 'yourMethodURLForJSONData',
dropConfig: {
dropAllowed: true,
ddGroup: "GridDD",
notifyDrop: function(source, e, data) {
alert("A node/leaf is dropped");
//If you want few more details
if (data.grid) {
var node = data.selections[0].data;
alert("This is a node dropped from a Grid.");
} else {
var node = data["node"];
alert("This is a node dropped from a Tree.");
}
}
}
});
您也可以对Ext.ux.tree.TreeGrid执行相同的操作。希望能有所帮助。作为安东上述正确答案的补充:下面的代码显示了如何“从外部连接”以删除事件,例如从控制器等:
// Drag & Drop on the TreePanel
var ganttTreeView = ganttTreePanel.getView();
ganttTreeView.on({
'drop': me.onDrop,
'scope': this
});;
这些参数正确吗<代码>节点不是树节点。无法获取移动节点的父节点。未被激发。这是树侦听器还是ViewConfig侦听器?@MagnoC检查文档:此事件是在树存储上定义的。我认为存储不应对接口事件负责。@MagnoC:我不知道我的回答是否仍然相关,因为问题和回答日期是2010年6月
// Drag & Drop on the TreePanel
var ganttTreeView = ganttTreePanel.getView();
ganttTreeView.on({
'drop': me.onDrop,
'scope': this
});;