我已经覆盖了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";
}
}
}
}
答案 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()
方法。这将触发您的活动等。