Показать сообщение отдельно
Старый 22.04.2014, 18:40   #1  
AR® is offline
AR®
Участник
 
30 / 15 (1) ++
Регистрация: 07.09.2012
Как из кода сделать запись в DataSource "грязной"?
Есть несложная форма, в которой 2 DataSource и 2 грида соответственно.

Когда в 1-м создается новая запись, основные поля заполняются у меня через initValue(), и пользователь законно может ничего не дописывать в этой записи.

После этого пользователь уходит на 2-ой грид. Если он что-то поправил руками в 1-м гриде в новой записи, то уход вызывает ​​​validateWrite() / write() - сохранение. Если же он оставил всё, как заполнил ​initValue(), то запись в 1-м гриде не сохраняется, а надо, чтобы сохранялась, даже если пользователь ничего не поправил в ней.

Я не придумал ничего умнее, как звать write() принудительно в конце initValue(), но это не красиво, т.к. запись будет сохраняться всегда, даже если пользователь передумал и вышел по Esc, не уходя на другой грид / другую запись.

Как сделать, чтобы после Ctrl-N в 1-м гриде и ухода на 2-й запись в 1-м гриде/DataSource'е сохранялась, даже если пользователь ничего не поправил в ней?

Последний раз редактировалось AR®; 22.04.2014 в 18:44.