Dojo Gridx Refresh Table после выполнения определенного действия?

У меня есть сетка, созданная с помощью Gridx, которая будет использоваться для мониторинга и управления записями. Когда пользователь щелкает строку таблицы, появляется диалоговое окно, в котором пользователь может выбрать игнорировать или ответить. При нажатии любой из них мне нужно обновить запись в моей базе данных SQL (та же таблица, из которой извлекается эта информация), а затем я хочу, чтобы сетка обновлялась с обновленной информацией.

По сути, ПОСЛЕ того, как база данных SQL обновляется на основе того, что выбирает пользователь, я хочу, чтобы сетка обновлялась с помощью ОБНОВЛЕННОЙ информации.

Я новичок в додзё и пользуюсь магазинами, так что, пожалуйста, помилуй :P.

Моя сетка создается следующим образом:

var memoryStore = new Memory();
var jsonRest = new JsonRest({target:url, idProperty:"username", sortParam: "sortBy"});
var store = new Cache(jsonRest, memoryStore);

var grid = new Grid({......});

/*this could be very wrong, but its the only way I could get 
  my data to load on first load - any corrections would be appreciated*/ 
store.query{{}).then(function() {
   grid.model.clearCache();
   grid.body.refresh();
});
grid.startup(); 

Но я не могу заставить его обновиться после обновления? Кстати, я использую синхронный кеш. Любая помощь или предложения будут с благодарностью!

заранее спасибо


person CustardBun    schedule 09.04.2014    source источник


Ответы (1)


Вы должны установить "clearOnClose:true" и "urlPreventCache:true" при объявлении хранилища. установка для clearOnClose значения true позволит вашему магазину снова получать данные. В противном случае данные извлекаются только один раз, независимо от того, используете ли вы запрос.

Итак, после установки этих параметров, когда вам нужно перезагрузиться, просто закройте магазин.

store.close();

Теперь освежите тело. Данные будут успешно перезагружены.

store.query().then(function() {
   grid.model.clearCache();
   grid.body.refresh();
});
person vivek_nk    schedule 10.04.2014