Это одна из тех вещей, которые могут быть немного трудны для выполнения, потому что давали браузеру слишком много, чтобы делать сразу (особенно заметно в IE).
Мне нравится использовать комбинацию defer, чтобы позволить браузеру восстанавливаться достаточно долго для правильной визуализации.
var grid = new Ext.grid.GridPanel({
...,
listeners : {
render : function(grid){
grid.body.mask('Loading...');
var store = grid.getStore();
store.load.defer(100, store);
},
delay: 200
}
});
Игра со значением задержки / отсрочки должна дать вам желаемые результаты. Время, которое вам нужно будет отложить / отложить, зависит от того, насколько сложна ваша таблица и насколько быстро работает браузер.
Также не забудьте удалить маску, когда загрузка вашего Магазина будет завершена.
listeners: {
load: function(){
yourGrid.body.unmask();
}
}
ПРИМЕЧАНИЕ. Всего несколько пояснений к ответу Ллойда - вам не нужно устанавливать autoLoad в false, потому что это значение по умолчанию (т. Е. Вообще не устанавливайте его), и в вашем описании это звучит как захочет использовать метод загрузки Stores вместо перезагрузки.