Обновлена ​​информация о товаре в контейнере, как мне обновить? - PullRequest
0 голосов
/ 11 февраля 2009

Я выхожу на конечность и надеюсь, что кто-то использовал IT Mill Toolkit раньше:

У меня есть таблица с кучей предметов внутри. Я редактирую один из них - как мне заставить Таблицу обновляться и перерисовывать себя? Я пробовал использовать requestRepaint(), requestRepaintAll() как для таблицы, так и для макета, содержащего таблицу, но я не могу заставить ее обновить себя. Когда я перезагружаю страницу или выполняю прокрутку назад и вперед (чтобы Предмет исчез из поля зрения и снова появился), Элемент был обновлен.

Есть ли способ программно заставить таблицу обновить ее текущее представление?

1 Ответ

1 голос
/ 11 февраля 2009

Разве контейнер элементов не реализует эту функцию? Скажите, что вы используете IndexedContainer в своей таблице. AFAIK IndexedContainer замечает, когда вы меняете содержимое, и, в свою очередь, отправляет уведомление всем, кто использует его как источник данных (= таблица) Так что нормальная таблица должна поднять это.

Редактировать - проверил это:

IndexedContainer реализует Property.ValueChangeNotifier

Таблица реализует ValueChangeListener, который выполняет requestRepaint ().

Другими словами, в вашем контейнере также должен быть реализован уведомитель, чтобы можно было вызывать автоматическую перерисовку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...