Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   обновление данных в грид, reload (https://javascript.ru/forum/extjs/40836-obnovlenie-dannykh-v-grid-reload.html)

demi 21.08.2013 17:40

обновление данных в грид, reload
 
у меня есть проблема с синхронностью отновления данных
я допустим изменяю данные в бд
и делаю grid.getstore().reload()
и почему то данные обновляются не всегда
иногда приходится в ручную нажимать обновить таблицу
и только тогда обновляется
это что reload срабатывает раньше выполнения запроса в бд

как вообще этот процесс сделать отлаженным?

siber-biber 21.08.2013 21:07

Типовая последовательность действий:
  1. создали store, сделали в него store.load() (данные считались с сервера)
  2. модифицируем данные в store (с помощью грида/полей/ и тп ..не важно)
  3. после этого делаем store.sync() (вручную вызываем, либо он вызывается автоматом если store.autoSync == true)
    • если вызывали вручную то можно задать callbacks на успешный/неудачный отклики сервера
      store.sync({
          ...
          failure : function () { ... },
          success : function () { store.reload(); }
      });
      
    • а если автоматом тогда можно слушать ивент write на store и в обработчике писать логику.
grid слушает событие load на сторе и должен отобразить загруженые данные автоматом.

sergeyv 31.08.2013 12:29

Если я правильно понял проблему, то должно же хватать двух опций в Store:

autoLoad: true,
autoSync: true

С уважением,
Сергей


Часовой пояс GMT +3, время: 17:52.