如何取消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类?如果是这样,我可以告诉你怎么做。