近来由于项目用到EXT,觉得里面的DD用起来很有意思,研究了一段时间源码,也总结了一些常用控件之间的用法,这方面网上的资料比较少,当时自己也走了一些弯路,现在暂时总结一下
ext提供的Tree和Grid本身就有拖拽的功能,使用过TreePanel或者GridPanel的人都知道,对于要想让tree可以拖拽,那么必须为tree的enableDD属性设置为true。
1,tree到grid
panel.dropZone = new Ext.dd.DropZone(panel.getEl(), {ddGroup:"SendTreeDDGroup", dropNotAllowed:"x-dd-drop-delete", getTargetFromEvent:function (e) {
return e.getTarget("");
}, onNodeOver:function (nodedate, dragsource, e, data) {
if (!data.node) {
if (data.personData.name) {
// 显示"nodrop"图标
return "x-dd-drop-nodrop";
} else {
if (data.personData.html) {
// 显示删除图标
}
}
return this.dropNotAllowed;
}
if (data.node.attributes.leaf && SendGrid.store.findBy(function (record, id) {
ret