cxGrid - onEditValueChanged при редактирование ячейки

__Evgeniy
Дата: 12.11.2007 16:19:59
Добрый день!

Пытаюсь научить cxGrid5 отображать введенное в ячейку значение в "определенном" формате
так чтобы в режиме редактирования я видел базовую переменную(x), а в режиме просмотра грид мне показывал в ячейках введенные значения в формате - x*10

К примеру ввожу в ячейку значение 5, жму "ENTER" появляется 50, ставлю опять курсор в ячейку для редактирования, значение возвращается к 5.
Для решения использовал события грида:
OnEditValueChanged - определяет окончание редактирования. Исп. для перезаписи в ячейку значения в формате x*10
OnEditing - определяет начало редактирования. Возвращает в ячейку базовое значение x через DataController.Values.

Проблема в следующем, когда значение вводится "руками" -OnEditValueChanged срабатывает. Однако, при "пере"вводе через метод "OnEditing" значение x в ячейке проявляется, но OnEditValueChanged уже не срабатывает, видимо не "видит" изменения.
Пытался использовать Controller.EditingController.ShowEdit для инициализации редактора и записи значения через него, но deDataField.Controller.EditingController.Edit остается = nil.

Вопрос:
Как можно OnEditValueChanged заставить отреагировать на изменения в ячейке сделанные программным путем?
RENaissance
Дата: 12.11.2007 16:37:12
__Evgeniy

К примеру ввожу в ячейку значение 5, жму "ENTER" появляется 50, ставлю опять курсор в ячейку для редактирования, значение
возвращается к 5.

Это элементарно делается через свойства DisplayFormat и EditFormat у TField'а. Например, если 4 знака до запятой, то DisplayFormat
= ####'0', а EditFormat = ####

Posted via ActualForum NNTP Server 1.4

__Evgeniy
Дата: 12.11.2007 17:05:02
Дело в том, что речь идет не только о формате вывода (в этом плане я неудачно привел пример).
Имеется ввиду математическая операция вроде: x*7+5
RENaissance
Дата: 13.11.2007 07:57:21
Если Вы хотите работать с формулами, то, IMHO, QuantumGrid здесь не к месту. Смотрите в сторону TcxSpreadSheet.

Posted via ActualForum NNTP Server 1.4

nerv
Дата: 21.04.2013 21:01:24
У меня похожий вопрос возник.
как в ячейке в cxGrid обработать правильность ввода даты, то есть при попытке уйти с ячейки с датой обработать некорректно введенную дату?
nerv
Дата: 21.04.2013 21:02:31
в обработчик колонки
PropertiesEditValueChanged(Sender: TObject);
у меня почему то не попадает.
X11
Дата: 21.04.2013 21:50:45
Есть событие OnValidate