EXTjs 4.2.1 Отображение данных по умолчанию при загрузке данных сетки

Я использую EXTjs 4.2, и я хотел бы знать, есть ли способ, используя LoadMask или другой механизм, отображать значения по умолчанию для строк сетки, в то время как выполняется прокрутка вверх / вниз и сетка должна загружаться информация, а не отображать пустой блок сетки или сообщение о загрузке.

Так, например, после прокрутки вниз он покажет что-то вроде:

|      Column 1      |     Description     |
--------------------------------------------
| value 1            | value 2             |
| value 3            | value 4             |
| value 5            | value 6             |
| loading data...    | loading data...     |
| loading data...    | loading data...     |
| loading data...    | loading data...     |

Затем, когда информация загружена, она покажет полученные значения, как обычно:

|      Column 1      |     Description     |
--------------------------------------------
| value 1            | value 2             |
| value 3            | value 4             |
| value 5            | value 6             |
| value 7            | value 8             |
| value 9            | value 10            |
| value 11           | value 12            |

Я уже реализовал это, вставляя вручную все эти строки с информацией "Загрузка данных..." и заменяя ее в момент получения ответа, но для этого нужно использовать специальный код для управления запросами и хранилищем, и поэтому Я ищу решение, предоставляемое библиотекой EXTjs, если она существует. Благодарю.

1 ответ

Судя по вашей информации, кажется, что вы загружаете каждую запись за раз, а затем заполняете значения, которые вы получаете, вместо загрузки всех записей магазина.

То, что вы объяснили, кажется идеальным, единственное, когда вы получите ответ, на какую запись вы собираетесь обновить? если это ваш вопрос, то при успешном обратном вызове ajax-запроса вы отправляете запись и используете ее для обновления

Например

var newAddedRecord = mystore.add({Колонка:'загрузка данных... ', Описание:'загрузка данных...'});

Ext.Ajax.request({
    url: 'url to post',
    method: 'POST',
    scope: this,
    success:function(request,options)
    {
        successCallback(request,options,this, newlyAddedRecord);
    },
    failure: handleFailure,
    params: parameters //Any parameters that needs to be passed in request
});

В функции successCallback

successCallback: function(request, options, scope, newlyAddedRecord) {
  var jsonData = Ext.JSON.decode(request.responseText); //or the way your data is returned

  newlyAddedRecord.set('Column', jsonData.column);   
  newlyAddedRecord.set('Description', jsonData.description);
  newlyAddedRecord.commit();
}
Другие вопросы по тегам