如何在不使用焦点的情况下从中间或结尾的某个位置在顶部滚动extJS网格

时间:2018-11-22 16:07:08

标签: javascript extjs

我有一个按钮,文本字段和包含大量数据的网格。我正在做的是输入一些数字,然后单击按钮,希望网格选择并显示在视图中。

例如,如果我选择1200,则它将转到第1200条记录并在滚动视图中显示。

为此,我正在做

grid.getView().scrollIntoView(value)

这很好,但是对于大数据却失败了。所以我在这里做的是

grid.getView()。scrollDelta('Y',value * 10,true);

这也很好。但是我的问题是,每当我输入新值时,我都希望从顶部开始滚动。我正在尝试使用此代码grid.getView().focusRow( record );,并且一切正常,但是我的关注点发生了变化。

我不想改变重点。还有什么其他方法可以让我从头开始。

这是我的代码。

click : function(){
    var view = this.getView();
    var grid = view.down('myGrid');
    var value = view.down('field').getValue();
    //grid.getView().scrollIntoView(value);
    grid.getView().focusRow( record ); // Trying to put on top but not by this way
    grid.getView().scrollDelta('Y',value*10,true);
}

发生的事情是假设我的值是100,如果我输入新数字,则它会进一步向下滚动。 (如果我输入50的值,它会滚动到150。我想滚动50,所以我想先移到最上面,然后再有焦点地再次滚动。)

0 个答案:

没有答案