在Ext.grid.GridPanel中每次都显示最后一条记录

最近我在使用Ext.grid.GridPanel中遇到一个问题。我在每次向Ext.grid.GridPanel中添加记录后,希望刷新Ext.grid.GridPanel中的store并且GridPanel总是指向最后一条记录。但是当Ext.grid.GridPanel中的数据增多后,会出现滚动条,最后一条记录就看不到了。

我想出来一个办法,给store绑定load时间,每次load时都会把Ext.grid.GridPanel指向最后一条记录。代码如下:

        var ds = new Ext.data.Store({ ... });
        var grid = new Ext.grid.Grid('grid-example', { .... });
        grid.render();

        //define layout, toolbars, headers, footers, forms, etc...
        //and, lastly:

        grid.getStore().on({"load": {
            fn:function() {
                grid.getView().focusRow(grid.Store().getTotalCount()-1);
                grid.getSelectionModel().selectLastRow();
            },
            options: {
                single:true
            }
        }});
        ds.load();  

其中最关键的一行是:

grid.getView().focusRow(grid.Store().getTotalCount()-1);



你可能感兴趣的:(ExtJS)