2014-05-26 5 views
1

У меня есть магазин с данными { name: String, enabled: Boolean }. Когда я показываю dgrid, я задаю запрос как { enabled: true }, чтобы я эффективно отфильтровывал все «отключенные» записи. На самом деле у меня три сетки, отображающих один и тот же магазин. Они получают уведомление, не беспокоясь.Автоматически обновлять сетку, когда изменения данных и запрос больше не удовлетворяются

Если я редактирую поле и сохраняю его с помощью {enabled: false}, мне нужно обновить dgrid, потому что условия запроса для этой записи больше не выполняются (поле enabled было изменено). Уведомление только гарантирует, что сама ячейка обновлена ​​- тот факт, что она больше не удовлетворяет условию запроса, не рассматривается.

Итак, мой вопрос: что мне делать в этом случае? Я мог бы вручную обновить сетку, но затем снова нужно обновить и другие 2 решетки.

Каков наилучший способ? Упускаю ли я что-то совершенно очевидное?

Спасибо!

Merc.

ответ

0

Я не могу добавить комментарий, но на основе вашего описания ваш магазин, кажется, не уведомляет сетку об изменениях (только для чтения?). Какой магазин вы используете?

http://dojotoolkit.org/reference-guide/1.9/dojo/store.html

Другой причиной может быть то, что вы используете магазин на основе устаревшей API додзё/данные (например: додзе/данные/ItemFileWriteStore), и dgrid не поддерживает это уведомления.

http://dojofoundation.org/packages/dgrid/tutorials/grids_and_stores/

+0

Неа, используя обычный магазин, а не только для чтения, и я использую последнюю версию магазина API. Должны ли dgrids фактически повторно применять фильтр запросов после изменения элемента ...? – Merc

+0

В соответствии с документами уведомления должны быть привязаны к запросу и, следовательно, должны работать нормально. «Сама сетка ничего не знает (и ничего не знает) о том, как работают запросы, и поэтому она не может фильтровать эти события. Оставляя уведомления о самом действии запроса, уведомления могут быть указаны в терминах того, как они влияют на данный набор результатов запроса, что и в конечном итоге волнует виджет ». http://dojotoolkit.org/reference-guide/1.9/dojo/store.html#notification-rational – Bobz79

+0

В конце концов, это был мой cstom Observable.js, который был неправдоподобным, но ваш ответ дал мне преимущество: D Спасибо! – Merc