eu6pc
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Коллеги, помогите советом: На форме есть CXGrid, двухуровневый (master-detail), на обоих уровнях используется CxGridTableView (который не DB). Данные в грид из БД заношу "вручную", изменения записываю в БД по событиям DataController`а. Все работает как нужно, однако есть одна проблема: перед сохранением записи я на событии OnBeforePost проверяю на заполнение обязательных полей - пустые не допускаются. Так вот: если я добавил запись, незаполнил нужные поля и пытаюсь перейти к другой записи или уровню грида - срабарывает OnBeforePost - грид пытается сохранить запись. Тут вроде бы все хорошо. НО! если я мышкой нажму на любой другой контрол на форме - например переключу закладку или мышкой перейду из одного detail в другой - грид не пытается сохранить запись - событие OnBeforePost не происходит! Как заставить CxGridTableView сохранять запись автоматически при потере фокуса и НЕ ДАВАТЬ уйти с него, пока запись не будет выполнено сохранение или отмена ? По идее можно силой проверить сохранение записи на событии OnExit самого грида, однако если там осталась пустое поле, и я мышкой кликаю на другую закладку на форме - onBeforePost выполняется, в нем выдается сообщение о необходимости заполнения поля, НО клик мышки всеравно срабатывает и выполняется его обработка на другом контроле - изменение закладки, например. Подскажите, пожалуйста, как быть в данной ситуации ? ImmediatePost не предлагать |