extj中隐藏的true需要具有与hide列相同的功能

时间:2013-06-06 22:15:08

标签: extjs

我已经覆盖了extjs的hide列功能,它工作正常。当列被赋予隐藏:true时,在第一次页面加载期间,我的隐藏功能不起作用。当我隐藏/显示列时,它正在工作。需要在页面加载期间启用相同的功能

columnhide: function() {
    var cell = this.getEl().query('.x-grid-cell-inner');
    var collen = grid.columns.length;
    var i = 1;
    for (var y = i; y < cell.length; y = y + collen) {
        for (var x = 0; x < cell.length; x++) {
            if (x == y) {
                cell[x].style.display= "none"; 
            }
        }
    }
} 

1 个答案:

答案 0 :(得分:1)

您是对的,columnhide事件仅在隐藏 之后才会触发。

让当前代码正常工作的最简单方法是在列上调用hide(),而不是使用hidden选项。

使用列配置中的以下内容替换hidden: true将起到作用:

    ,listeners: {
        // we want to catch the event only the first time it is fired
        single: true
        ,afterrender: function() {
            this.hide();
        }
    }

此代码将向要隐藏的列添加侦听器,在呈现列之后,它将调用其hide()方法。这将触发您的活动等。