我需要保留重新排序列的默认功能,并添加将列放入第二个网格的可能性,在最后一个包含第一个网格的列的列表中构建。
我希望已经清楚了。
我解决了扩展 DropZone 的问题。此实现接收目标网格作为构造函数参数,并且此在源网格的 rbar(停靠控件)中。键将 ddGroup 设置为“header-dd-zone-”加上源网格的 id。我希望这很有用。
Ext.define('Crud.FilterDropZone', {
extend: 'Ext.dd.DropZone'
, constructor: function() {}
, init: function (grid) {
var me = this;
if (grid.rendered) {
me.grid = grid;
me.ddGroup = 'header-dd-zone-' + grid.up('grid').id;
grid.getView().on({
render: function(v) {
me.view = v;
Crud.FilterDropZone.superclass.constructor.call(me, me.view.el);
},
single: true
});
} else {
grid.on('render', me.init, me, {single: true});
}
}
, getTargetFromEvent: function (e) {
return {};
}
, onNodeDrop: function (nodeData, source, e, data) {
var header = data.header
, store = Ext.getCmp(e.target.id).getStore();
//store.add(new store.RecordType({ property: header.text, value: '', reference: header.dataIndex}));
store.add([[header.text, '', header.dataIndex]]);
}
});