0

我需要保留重新排序列的默认功能,并添加将列放入第二个网格的可能性,在最后一个包含第一个网格的列的列表中构建。

我希望已经清楚了。

4

1 回答 1

1

我解决了扩展 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]]);
    }

});
于 2013-04-19T12:33:38.887 回答