SlickGrid V2列大小调整触发排序

SlickGrid V2 column Resize triggers Sort

本文关键字:排序 调整 V2 SlickGrid      更新时间:2023-09-26

这可能是一个工件,但它是相当可复制的(IE仅)在一对网格我已经建立了切换到SlickGrid V2(从未见过这个在以前的版本)。当用户调整列的大小时,Resort方法也会被触发,这当然会使列恢复。
我还这样做了(没有效果):

grid.onColumnsResized.subscribe(function(e, args) {
    e.stopImmediatePropagation();
    e.stopPropagation();
    // alert('resized');
    return false;
});

但是,当我包含警报…一切都是正常的(没有办法)。所以…我想这是时间的问题。我设置了一个错误的2秒计时器(除了计时什么都不做),这也没有效果(仍然是诉诸)。有人能解释一下发生了什么,为什么alert似乎允许一切正常工作。无论我是使用本地的Resort还是默认的SlickGrid Resort方法都无关紧要。

谢谢

基本上问题是IE触发点击事件的列当你调整大小。如果鼠标向上移动时光标下方有一个列标头,那么将调用该列。

至于为什么警告框有帮助,浏览器事件是按特定顺序触发的。在IE中,拖放(它触发oncolumnsresize)在点击(它触发resort)之前被触发。因为它们不是同一类型的,所以停止传播不会做任何事情,但是弹出一个警告框可以防止在列标题上注册幽灵点击。

这是应该在SlickGrid库中工作的东西,而不是使用它的代码。