extjs: выбрать / отменить выбор всех функций в сетке

Я делаю поиск на своей странице и получаю список результатов. Когда я щелкаю в сетке и нажимаю 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 ответов

Другие вопросы по тегам