如何取消ExtJS网格的sortchange事件?

如何取消ExtJS网格的sortchange事件?,extjs,extjs4.1,Extjs,Extjs4.1,我正在为网格实现多重排序。我想为此使用sortchange事件,但我必须取消该事件,以便使用我自己的排序配置调用存储 这不起作用: oGrid.on('sortchange', function(oColumnContainer, oColumn, strSortOrder){ //... return false; }) 我自己找到了解决办法 当我需要多重排序时,我会在创建时将网格上的所有列设置为sortable:false(似乎不可能在运行时执行此操作) 然后,在创建网格之后,我将

我正在为网格实现多重排序。我想为此使用
sortchange
事件,但我必须取消该事件,以便使用我自己的排序配置调用存储

这不起作用:

oGrid.on('sortchange', function(oColumnContainer, oColumn, strSortOrder){
  //...
  return false;
})

我自己找到了解决办法

当我需要多重排序时,我会在创建时将网格上的所有列设置为
sortable:false
(似乎不可能在运行时执行此操作)

然后,在创建网格之后,我将('headerclick,function(){…})`设置为所有列对象的

sortable:false
阻止标题上的click事件对表进行排序,但稍后我仍然可以使用保存的列以编程方式调用store上的
sort()

var oGrid = Ext.create( 'Ext.grid.Panel', {
  ...
  columns: [
    { ..., sortable: false }
  ]
});

for( i in oGrid.columns ) {
  oGrid.columns[i].on('headerclick', function(){...});
}

这将是相当复杂的。您是否愿意为解决方案扩展column类?如果是这样,我可以告诉你怎么做。