ExtJS - 隐藏网格中的列使IE8死了

时间:2014-03-06 05:02:27

标签: javascript extjs internet-explorer-8

我写了一个函数来使用ExtJS隐藏网格中的空列。但是代码有时会使ie8崩溃,特别是当列数超过20时。所以,我想知道这里有什么问题,我该如何优化呢?

以下是代码:

Ext.define('Ext.ux.CommonGrid', {    extend: 'Ext.grid.Panel',
    columnLines: true,
    layout:'fit',
    autoScroll:true,
    closable:true,
    loadMask:true,
    dockedItems: [{
        xtype: 'toolbar',
        dock: 'top',
        loadMask:true,
        items: [
            { 
                xtype: 'button', 
                text: 'arrange',
                handler:function(b){
                    var myMask = new Ext.LoadMask(this.ownerCt.ownerCt.ownerCt,{
                        msg:"Arranging...",
                        removeMask:true
                    });
                    myMask.show();
                    var grid = this.ownerCt.ownerCt;
                    var columns = grid.getView().getHeaderCt().getGridColumns();
                    var rowsNum = 5;
                    if (grid.getStore().data.length<rowsNum) 
                        rowsNum = grid.getStore().data.length;
                    for(var i=0;i<columns.length;i++){
                        var hide = true;
                        for(var m=0;m<rowsNum;m++){
                            if(grid.getStore().getAt(m).data[columns[i].dataIndex]!=null){
                                hide = false;
                                break;
                            }
                        }
                        if(hide) columns[i].hide();
                    }
                    myMask.hide();
                }
            }
        ]
    }]
});

0 个答案:

没有答案
相关问题