Ext JS 3-禁用单击网格列标题时的排序

问题描述

| 在列中启用排序后,单击标题会自动对该列进行排序。我想禁止基于单击列标题的排序,但保留通过标题菜单进行的排序。换句话说,对列进行排序的唯一方法是进入标题菜单。有什么想法吗?     

解决方法

        
var contextMenu = new Ext.menu.Menu({
items: [{
    id: \'sort-high-to-low\',cls: \'xg-hmenu-sort-asc\',text: \'Sort Ascending within Group\'
},{
    id: \'sort-low-to-high\',cls: \'xg-hmenu-sort-desc\',text: \'Sort Descending within Group\'
},\'-\',{
    id: \'sort-high-to-low-all\',text: \'Sort All Ascending\'
},{
    id: \'sort-low-to-high-all\',text: \'Sort All Descending\'
},{
    id: \'heatmap\',cls: \'xg-hmenu-heatmap\',text: \'Open in Heatmap\'
}],listeners: {
    scope: this,itemclick: function(item) {
        switch (item.id) {
        case \'sort-high-to-low\':
            Ext.getCmp(\'backtestGrid\').getStore().sort(contextMenu.columnId,\'ASC\');
            this.hide();
            break;
        case \'sort-low-to-high\':
            Ext.getCmp(\'backtestGrid\').getStore().sort(contextMenu.columnId,\'DESC\');
            this.hide();
            break;
        case \'sort-high-to-low-all\':
            Ext.getCmp(\'backtestGrid\').getStore().clearGrouping();
            Ext.getCmp(\'backtestGrid\').getStore().sort(contextMenu.columnId,\'ASC\');
            this.hide();
            break;
        case \'sort-low-to-high-all\':
            Ext.getCmp(\'backtestGrid\').getStore().clearGrouping();
            Ext.getCmp(\'backtestGrid\').getStore().sort(contextMenu.columnId,\'DESC\');
            this.hide();
            break;
        case \'heatmap\':
            heatmapCallback(contextMenu.headerName,contextMenu.columnId);
            this.hide();
            break;
        }
    }
}});
    ,        
{
  xtype: \'gridcolumn\',menuDisabled: true,width: \'75%\'
}
    ,        我最终根据以下文章构建了自己的上下文菜单。 我如何为extjs网格创建上下文菜单     ,        在Ext 6中: 覆盖
Ext.grid.column.Column
以在方法
onTitleElClick
上设置
sortOnClick
属性 我并使用新的配置ѭ5进行控制。 设置
enableSortOnClick = false
将禁用标题单击上的排序,但保留标题下拉菜单上的排序功能。
Ext.define(\'App.overrides.ColumnOverride\',{
    override: \'Ext.grid.column.Column\',config: {
        /** Control sortOnClick at TitleElClick event*/
        enableSortOnClick: false,},/**@Overrides*/
    onTitleElClick: function(e,t,sortOnClick) {
        return this.callParent([e,this.enableSortOnClick && sortOnClick]);
    }
});  
    ,        http://forums.ext.net/showthread.php?12608-CLOSED-How-to-disable-sorting-by-click-the-header-of-column-in-GridPanel     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...