是的,menuDisabled是在列渲染時考慮到的一個配置,並且在此之後對其進行修改並不值得。但是,切換列菜單有一個棘手的方法,只有在列menuDisabled設置爲false時呈現。
所以,如果潛入列類的源代碼,我們會看到,在renderTpl配置有下面的一段代碼:
'<tpl if="!menuDisabled">',
'<div id="{id}-triggerEl" data-ref="triggerEl" role="presentation" unselectable="on" class="',
Ext.baseCSSPrefix, 'column-header-trigger', '{childElCls}" style="{triggerStyle}"></div>',
'</tpl>',
,它將使一個div EL,將切換菜單。所以通過切換此div的可見性,您將切換菜單禁用「狀態」。
column.triggerEl.show();
column.triggerEl.hide();
在你的情況,你可以禁用表示,像這樣所有列的菜單:
Ext.each(view.getColumns(), function(item) {
item.triggerEl.hide();
});
這裏是工作提琴:https://fiddle.sencha.com/#view/editor&fiddle/1r2h。
謝謝@布魯諾先生。我已經把這個功能從'afterrender'事件轉移到'beforerender'並且它完美地工作。 –
@GrumpyTurtle如果答案有效,請將我的答案標記爲正確 –