Вам необходимо реализовать Ext.dd.DropZone для архивирования этого!См. Ext.JS 3.x API для получения дополнительной информации об этом
Следующий пример не проверен, но он должен показать вам хитрость!
FormDropZone = function (form, config) {
this.form = form;
FormDropZone.superclass.constructor.call(this, form.view.scroller.dom, config);
};
Ext.extend(FormDropZone, Ext.dd.DropZone, {
onContainerOver: function (dd, e, data) {
return dd.form !== this.form ? this.dropAllowed : this.dropNotAllowed;
},
onContainerDrop: function (dd, e, data) {
if (dd.form !== this.form) {
this.form.onFormDrop(this.form, data.selections, dd.form);
return true;
}
else {
return false;
}
},
containerScroll: true
});
DDform = Ext.extend(Ext.form.formPanel, {
// configuration
initComponent: function () {
var config = {};
Ext.apply(this, Ext.apply(this.initialConfig, config));
DDform.superclass.initComponent.apply(this, arguments);
},
onRender: function () {
DDform.superclass.onRender.apply(this, arguments);
this.dz = new FormDropZone(this, { ddGroup: this.ddGroup || 'formDD' });
},
onFormDrop: Ext.emptyFn
});
Надеюсьэто тебе поможет!