Extjs:如何防止checkboxModel在pagingtoolbar页面更改中取消选择行?

Extjs:如何防止checkboxModel在pagingtoolbar页面更改中取消选择行?,extjs,extjs4,extjs4.1,Extjs,Extjs4,Extjs4.1,为什么在使用时取消选择页面上的所有选定行会发生更改?如何停止在页面更改时取消选择行 我看到有一个pruneRemoved可以用来防止节点的修剪,我将它设置为false,但是取消选择仍然被触发。不知道还有什么可以尝试的 我假设checkboxmodel在商店注册,或者pagingtoolbar在商店更改时收到通知…然后取消选择所有内容?为什么?我需要防止这种情况 编辑: 我不想被解雇的原因是;我在选择和取消选择上附加一个处理程序。选择将行添加到另一个网格,取消选择将删除行。因此,当用户选中某个复选

为什么在使用时取消选择页面上的所有选定行会发生更改?如何停止在页面更改时取消选择行

我看到有一个pruneRemoved可以用来防止节点的修剪,我将它设置为false,但是取消选择仍然被触发。不知道还有什么可以尝试的

我假设checkboxmodel在商店注册,或者pagingtoolbar在商店更改时收到通知…然后取消选择所有内容?为什么?我需要防止这种情况

编辑:
我不想被解雇的原因是;我在选择和取消选择上附加一个处理程序。选择将行添加到另一个网格,取消选择将删除行。因此,当用户选中某个复选框时,该行将被添加到另一个网格中,当用户取消选中该复选框时,该行将从该网格中删除。通过网格触发取消调用,当存储更改时,我会丢失另一个网格中保存的所有行。

我不确定这是否是正确的方法,但它对我有效

我所做的是创建自己的Ext.grid.View。我扩展了ext.view.Table和onMaskBeforeShow方法。这是在网格选择模型上调用“全部取消选择”的方法。如你所见,我在这里发表了评论

Ext.define('Ext.grid.SteveView', {
    extend: 'Ext.view.Table',
    alias: 'widget.stevegridview',

    onMaskBeforeShow: function(){
        var me = this,
            loadingHeight = me.loadingHeight;

        //me.getSelectionModel().deselectAll();
        me.all.clear();
        if (loadingHeight && loadingHeight > me.getHeight()) {
            me.hasLoadingHeight = true;
            me.oldMinHeight = me.minHeight;
            me.minHeight = loadingHeight;
            me.updateLayout();
        }
    }
});
包括上面的脚本,然后在创建网格时,将viewType更改为stevegridview,或您决定命名的任何名称

    {
        xtype: 'grid', 
        viewType:'stevegridview',
        store:'some store'
        ...
    }

新的视图类型将在调用新的onMaskBeforeShow()时使用。

您的用户如何知道他们选择了什么?您的意思是什么?网格的功能是取消选择存储刷新上的所有内容。我不希望取消选择被解雇。我在select和deselect上有一个处理程序,select将行添加到另一个网格,deselect将行删除。当网格触发时,取消选择所有我将丢失所有保存的行。