拖动网格列时EXT JS自动滚动容器

时间:2014-07-06 09:31:39

标签: javascript extjs grid

我有EXT JS网格,宽度大于屏幕宽度。我必须拖动列来更改它的顺序,但是当我将列标题拖到屏幕边缘时 - 容器不会滚动。因此需要首先手动滚动然后将列拖放到正确的位置。 拖动列时如何向左或向右移动容器? 我使用 gridviewdragdrop 插件尝试 containerScroll ,但只有在我拖动行时才有效:

 viewConfig: {
                plugins: {
                    ptype: 'gridviewdragdrop',
                    containerScroll: true
                }, 
 }

1 个答案:

答案 0 :(得分:2)

好的,花了一些时间我找到了workround。渲染和控制左右区域后,必须将mousemove事件添加到网格dom,然后使用网格视图的scrollBy函数。这是代码:

listeners: {
                afterrender:function(me){
                    //console.log(me);
                    me.el.dom.onmousemove=function(ev){

                        if (ev.x>(me.el.dom.clientWidth-50)){
                           // console.log(ev);
                            me.view.scrollBy(50, 0, false);
                        }
                        if (ev.x<50){
                            // console.log(ev);
                            me.view.scrollBy(-50, 0, false);
                        }
                    };
                },
相关问题