【问题标题】:Why does this function take more time in Firefox为什么这个功能在 Firefox 中需要更多时间
【发布时间】:2010-09-02 15:45:04
【问题描述】:

在我的网格中,我想设置 3 个按钮,允许用户选择要查看的列

所以我写了这个函数;它在 chrome 和 safari 上很快,但在 Firefox 上需要很多时间。

问题出在哪里?有没有其他方法可以做到这一点?

function showHideCols(dcols){
            thisGrid = Ext.getCmp('myGrid')
            thisColModel = thisGrid.getColumnModel()
            var hiddenCols = thisColModel.getColumnsBy(function(c){
                if(c.hidden==true) return true;
                });

            var majCols = thisColModel.getColumnsBy(function(c){
                   if(c.id>17) return true;
                });

            var editCols = thisColModel.getColumnsBy(function(c){
                   if(c.id<18) return true;
                });

            switch(dcols){
                case 'maj' :
                Ext.each(majCols,function(f){
                    thisColModel.setHidden(f.id,false)
                 })

                 Ext.each(editCols,function(f){
                    thisColModel.setHidden(f.id,true)
                 })
                 break;
                case 'edit': 
                Ext.each(majCols,function(f){
                    thisColModel.setHidden(f.id,true)
                 })

                 Ext.each(editCols,function(f){
                    thisColModel.setHidden(f.id,false)
                 })
                 break;
                 case 'all' : 
                 Ext.each(hiddenCols,function(f){
                    thisColModel.setHidden(f.id,false)
                 })
                break;
                }
          }

我在网格中有 26 个列。 首先我显示从 0 到 17(editCols), 第二从 18 到 26 (majCols) 最后显示全部

【问题讨论】:

    标签: datagrid extjs


    【解决方案1】:

    我想说它不取决于列数,而是取决于网格中的行数。

    另外,Firefox 中的列隐藏/显示一直很慢; 1 列可以接受,但 26 列和很多行可能会慢得要命!

    您是否启用了萤火虫? 如果是,您可以尝试分析,将console.profile("show/hide cols"); 放在要分析的内容之前,将console.profileEnd(); 放在后面。

    但 firebug 本身会降低 Firefox + ExtJS 的速度。

    【讨论】:

    • 网格有一个 paginBar,所以每页的行数是 20
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-29
    • 1970-01-01
    • 2018-01-28
    • 1970-01-01
    • 2017-09-22
    • 2021-07-17
    相关资源
    最近更新 更多