extjs grid 实时刷新的时候记录滚动条的位置,让滚动条不动

在实时刷新的时候数据量过大会出现滚动条。这时候需要记录滚动条的位置。只需在grid的viewConfig属性里面添加如下参数

viewConfig: {//实时刷新的时候记录滚动条的位置,让滚动条不动

    onLoad : Ext.emptyFn,

       listeners: {

           beforerefresh : function(v) {

               v.scrollTop = v.scroller.dom.scrollTop;

              v.scrollHeight= v.scroller.dom.scrollHeight;

           },

           refresh: function(v){

v.scroller.dom.scrollTop= v.scrollTop + (v.scrollTop == 0 ? 0 : v.scroller.dom.scrollHeight -v.scrollHeight);

           }

       }

    }

   

如果全部grid都想实现这个功能可以这样

Ext.override(Ext.grid.GridView, {

    scrollTop : function() {

        this.scroller.dom.scrollTop= 0;

        this.scroller.dom.scrollLeft= 0;

    },

    scrollToTop : Ext.emptyFn

});

你可能感兴趣的:(JavaWeb)