为什么Ext.grid.GridPanel很慢?

时间:2015-12-11 13:31:22

标签: extjs extjs4 extjs3

  

我正在使用Ext.grid.GridPanel,版本ExtJs3.4。它至少需要6   到网格加载1000条记录到7秒。
  我的java部分在不到1秒的时间内给出结果但是渲染   需要6至7秒。
      可能是什么问题呢?
      什么可能的解决方案来提高性能?
      这是我的代码。

var grid = new Ext.grid.GridPanel({
                title:gridtitle,
                border: false,
                height: getGridHeight(),
                autoScroll:true,
                store: store,
                id:'grid',
                colModel: createColModel(gridnoofcols),
                loadMask: true,
                view: new Ext.grid.GroupingView({
                    autoFill:true,
                    groupTextTpl: getGroupConfig(),
                    emptyText: emptytext,deferEmptyText: false
                }),
                listeners: {
                    render : function(grid){
                      grid.store.on('load', function(store, records, options){
                        grid.getSelectionModel().selectFirstRow();       
                      });                      
                    }
                   },
                plugins: [filters],        
                bbar: new Ext.Toolbar({
                })
    });

Following are the Column model

var createColModel = function (finish, start) {
    var columns = [
        new Ext.grid.RowNumberer({
            header: "<span style=font-weight:bold;><%=SLNO%></span>",
            width: 50
        }), {
            dataIndex: 'slnoIndex',
            hidden: true,
            header: "<span style=font-weight:bold;><%=SLNO%></span>",
            filter: {
                type: 'numeric'
            }
        }, <%=liveVisionColumns.getGridHeaderBuffer(processID,language,checkFDAS).toString()%>
    ];
    return new Ext.grid.ColumnModel({
        columns: columns.slice(start || 0, finish),
        defaults: {
            sortable: true
        }
    });
}

1 个答案:

答案 0 :(得分:0)

由于记录数和分组视图,它可能会很慢。但是,6-7秒仍然太多了。列模型可能是问题所在。列和渲染器的数量确实可以减慢extjs网格的速度。尽量避免使用列渲染器。 你能否分享一下专栏模型?