Зафиксируйте новое значение из itemEditor перед событием itemEditEnd
-
21-09-2019 - |
Вопрос
У меня есть DataGrid с itemEditor
как NumericStepper
в несколько столбцов.Когда значение в DataGrid редактируется, я хотел бы обновить несколько значений, отображаемых на экране, и поэтому хочу вызвать updateValues()
функция.
Сначала я добавил эту функцию в itemEditEnd
мероприятие DataGrid
, но функция вызывается до того, как новое значение будет обновлено в dataProvider
и, следовательно, значения, которые у меня есть в функции, являются старыми значениями.Есть ли какое-либо другое событие, которое запускается после обновления значений в dataProvider
?или я что-то упускаю?
Во-вторых, я попытался поместить эту функцию в событие изменения каждого itemEditor
(ага!), но опять же, событие изменения запускается, но значения в dataProvider
они старые.
Есть ли способ сделать функцию updateValues()
вызываться каждый раз, когда значение редактируется И обновляется в dataProvider
, потому что я откуда беру значения?
Большое спасибо.
Решение
«В прослушивателе событий вы можете проверять данные, введенные в редактор элементов.Если данные неверны, вы можете вызвать метод PreventDefault(), чтобы не дать Flex передать новые данные обратно в элемент управления на основе списка и закрыть редактор." (источник)
Так что да, он вызывается до того, как поставщик данных получит данные.
Вот что вам следует прочитать: Обнаружение изменений в таблице данных.Он говорит обо всем том же.Приоритет мероприятия – билет.Слишком сложен путь Flex.Ваше здоровье.