extjs:选择/取消选择网格中的所有功能

时间:2014-09-24 21:08:48

标签: extjs selectall deselect

我在我的页面上搜索并获得结果列表。当我单击网格并单击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中。不确定如果我做错了什么或我错过了什么。任何想法?...

0 个答案:

没有答案