繁体   English   中英

如何滚动到Ext JS 3.4网格的底部?

[英]How to scroll to bottom in the Ext JS 3.4 grid?

我有一个网格面板(里面有Ext.ux.grid.RowEditor面板),我想滚动到底部(在底部附近,我的Ext.ux.grid.RowEditor没有完整显示),

这段代码不起作用:

this.MyGrid.getView().on('scrollToBottom', function(){
        var inputEl = this.MyGrid.el.dom;
        inputEl.scrollTop = inputEl.scrollHeight;
    }, this);

.....

然后按下保存按钮时,我会触发事件:

this.MyGrid.getView().fireEvent('scrollToBottom',this);

任何想法,为什么它不滚动? 谢谢!

.on()函数用于为事件设置侦听器功能,而不是添加自定义事件。 同样, .fireEvent()函数用于触发对象上的事件。 不能定义您自己的事件,而且ExtJs中没有“ scrollToBottom”事件。

您要做的就是将您的scrollToBottom代码定义为一个函数,然后从保存按钮的点击处理程序中调用它

请尝试使用addEvent方法(使用init)将事件添加到网格中,然后将事件作为侦听器添加到网格中。 必要时使用fireEvent方法触发事件(在用户单击保存按钮的情况下),然后在侦听器中订阅它。

示例代码如下所示(您必须添加此事件,然后将其触发。)将事件添加到init组件中如下所示(在下面,这是指网格范围)

this.addEvents('SCROLL_TO_BOTTOM');

您必须订阅该事件并设置网格的滚动高度。将以下侦听器添加到网格中。

listeners: {
         'SCROLL_TO_BOTTOM': this.handleScroll,
         scope: this
         }

处理滚动的功能

 handleScroll:function(){   
           var inputEl = this.MyGrid.el.dom;
           inputEl.scrollTop = inputEl.scrollHeight;
         }

希望这对您有帮助...

我找到了解决方案! 没有其他事件和听众,只是

var inputEl = this.myGrid.getView().scroller.dom;
inputEl.scrollTop = inputEl.scrollHeight;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM