2013-11-09 5 views
0

У меня проблема с устаревшими данными с сетями dgrid. Предположим следующий сценарий:dgrid и устаревшие выбранные элементы

  1. Сетка получает присвоенное JsonStore, он загружает соответствующие данные (например, GET/API/элементы)
  2. Пользователь выбирает элемент, сетка излучает dgrid-select элемент, который обеспечивает ссылку на реальный объект возвращенный вызовом API.
  3. С этой ссылкой выполняются операции, и поток приложений продолжается, возможно, обновляя элемент (например, PUT/api/items/1)
  4. Сетка обновляется вручную (что в свою очередь освежает магазин), так что не содержат устаревших данных (например, GET/api/items). Поскольку сетка была создана с опцией deselectOnRefresh: false, выбранная строка остается прежней.

На данный момент, как получить ссылку на объект с обновленными данными без дополнительного вызова API?

Я попытался вручную выбрать строку снова, но это не привело бы к событию. Я также попытался позвонить grid.row(selectedItemId), но возвращает объект строки, а не базовый объект. Я также попробовал позвонить store.get(selectedItemId), и пока он предоставляет мне обновленный объект, он выполняет другой вызов API, что было бы лишним, потому что эта информация уже была загружена приложением.

ответ

2

grid.row возвращает объект с 3-х свойствами:

  • element - элемент для строки, как в настоящее время, вынесенный в сетке
  • id - идентификатор строки (такой же, как его идентификатор в магазине)
  • data - магазин элемент, относящийся к ряду

data Prope rty должен быть тем, что вы хотите.

+0

Право и прямо в точку. Большое спасибо! – Alpha

Смежные вопросы