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

本文介绍如何在ExtJS中配置Grid组件,在实时刷新数据时保持滚动条位置不变,通过监听beforerefresh和refresh事件实现滚动条位置记录与恢复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在实时刷新的时候数据量过大会出现滚动条。这时候需要记录滚动条的位置。只需在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

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值