Extjs 4.1 - 带拖动和网格的网格下降,垂直滚动不起作用

时间:2017-10-03 06:51:56

标签: javascript jquery html web extjs

我在一个窗口上有2个网格,每个网格都支持拖放,也可以相互之间拖放。 拖动网格中第一行上方或网格中最后一行下方时,无法使垂直滚动起作用。 目前,如果我想将记录拖到网格的底部,我必须首先向下滚动。 使用containerScroll并没有解决问题。

Ext.define('MyApp.view.DDFieldsGrid', {
            extend: 'Ext.grid.Panel',
            xtype: 'ddfieldsgrid',
            hideHeaders: true,
            multiSelect: true,
            autoScroll: true,
            markDirty: false,
            columns: [
                { dataIndex: 'item', flex: 1 }
            ],
            viewConfig: {
                plugins: {
                    containerScroll: true,
                    ptype: 'gridviewdragdrop',
                    ddGroup: 'firstGridDDGroup'
                }
            }
        });


 this.mainWin = Ext.create('Ext.window.Window', {
            layout: 'centered',
            title: 'Blotter Fields',
            resizable: false,
            closeAction: 'hide',
            hidden: true,
            shadow: true,
            tbar: [{
                xtype: 'combo',
                fieldLabel: 'Fields Type',
                id: 'comboCategories',
                editable: false,
                queryMode: 'local',
                selectOnFocus: true,
                forceSelection: true,
                iconCls: 'no-icon',
                triggerAction: 'all',
                store: categoreyItems,
                listeners: {
                    select: function (ele, newValue, oldValue) {
                        var category = this.valueModels[0].index;
                        var store = Ext.getStore('availableFields');
                        store.filterBy(function (record) {
                            return category == 0 /*All*/ || record.get('category') === category;
                        }, this);

                    }
                }
            }, ' ', {
                xtype: 'checkbox',
                fieldLabel: 'Show Details field',
                margin: '0 10 0 20',
                //hidden: this.customizationModel._customizationView.detailsCustomOptions.showDetailsFieldsOption == false,
                checked: this.customizationModel._customizationView.detailsCustomOptions.showDetailsFieldsOption,
                listeners: {
                    click: {
                        fn: this.onShowDetailsField,
                        scope: this
                    }
                }
            }, ' ', {
                xtype: 'checkbox',
                fieldLabel: 'Show custom fields',
                margin: '0 10 0 20',
                //hidden: this.customizationModel._customizationView.detailsCustomOptions.showUserCustomFieldsOptions == false,
                checked: this.customizationModel._customizationView.detailsCustomOptions.showUserCustomFieldsOptions,
                listeners: {
                    click: {
                        fn: this.onShowCustomFields,
                        scope: this
                    }
                }
            }],
            dockedItems: [
            {
                xtype: 'toolbar',
                flex: 1,
                dock: 'bottom',
                layout: {
                    pack: 'end',
                    type: 'hbox'
                },
                items: [
                    {
                        xtype: 'button',
                        text: 'Cancel',
                        listeners: {
                            click: {
                                fn: this.onCancelSettings,
                                scope: this
                            }
                        }
                    },
                    {
                        xtype: 'button',
                        text: 'OK',
                        listeners: {
                            click: {
                                fn: this.onAcceptSettings,
                                scope: this
                            }
                        }
                    }
                ]
            }
            ],
            items: [{
                store: availableFieldsStore,
                title: 'Available Fields'
            }, {
                store: selectedFieldsStore,
                title: 'Selected Fields'
            }],
            layout: {
                type: 'hbox',
                align: 'stretch'
            },
            defaults: {
                xtype: 'ddfieldsgrid',
                height: 200,
                margin: 8,
                width: 300
            }
        });

0 个答案:

没有答案