Extjs在store.save之后保持网格滚动位置

时间:2012-11-08 19:07:49

标签: gridview extjs scroll

我在grid.Panel中有一个操作列,用于更改字段值并保存商店数据。但每次调用top:0时,网格滚动位置都会返回store.save

示例代码:

Ext.define('SF.view.Myview.List' , {
    extend: 'Ext.grid.Panel',
    viewConfig: {
        preserveScrollOnRefresh: true,
    },

    store: 'Contents',

    initComponent: function() {


        this.columns = [
            { xtype: 'actioncolumn',
            header: 'Action'
            , width: 60
            , items: [{ // change status button
                icon: 'http://whatisextjs.com/BAHO/icons/cancel.png'
                , handler: function(grid, rowIndex, colindex) {
                    var record = grid.getStore().getAt(rowIndex);
                    record.set('status',6);
                    grid.store.save();

                } 
            },

我已经尝试了preserveScrollOnRefresh财产但没有成功。此属性适用于分页和工具栏按钮,但不适用于store.refresh/load事件。

是否可以保存数据并刷新行而不会丢失滚动位置?

1 个答案:

答案 0 :(得分:0)

是的,调用记录的保存方法:

var record = grid.getStore().getAt(rowIndex);
record.set('status',6);
record.save();

网格中的数据也会更新。