0

我在我的页面上进行搜索并获得结果列表。当我在网格中单击并单击 ctrl + A 时,应该选择网格中的所有记录。为此,我使用以下代码。

{ key: Ext.EventObject.A,
                ctrl: true,
                fn: Ext.bind(this.doSelectAll, this),
                defaultEventAction: "preventDefault"
           }


doSelectAll: function(keyCode, event) {
    var grid = this.view;
    event.preventDefault();
    grid.getSelectionModel().deselectAll(true);
    grid.getSelectionModel().selectAll(true);
    setTimeout(function() {            
        grid.getView().scrollBy(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,false);
    }, 0.0);  
    grid.getView().focusRow(0);
},

我对选择所有功能没有任何问题。但是,当我单击 ctrl + A 并选择所有记录时,如果我尝试单击其中一个选定的记录,则取消选择所有记录并选择我单击的一个特定记录需要花费大量时间。比如说如果我的网格中有 20 条记录,如果我在网格中说 ctrl + A,那么所有 20 条记录都会被选中。现在,如果我单击一个特定记录,例如网格中的第一条记录,取消选择所有记录并选择第一条记录需要 1-2 秒。如果我有 100 条记录,取消选择和选择过程几乎需要 8-10 秒。我可以在我的网格中显示的最大记录是 300 条,取消选择并选择一个特定的记录,它需要将近 15-18 秒。如果我尝试在此过程中单击网格中的某个位置,我收到脚本错误,它询问我是停止脚本还是继续。这也发生在 Firefox 和 IE 中。不确定我是做错了什么还是错过了什么。有任何想法吗?...

4

0 回答 0