Цитата:
Сообщение от
DmitryK
Извините, Сергей, попробую подробней.
1) Форма самописная, должна сделать варианты пересчета значения в realControl
2) Контрол связан с источником данных
3) Пользователь вводит/меняет значение в realcontrol.
4) Вызывается lookup, значение введенное пользователем заменяется значением из datasource
Если пользователь после ввода значения переходит на следующее поле (происходит запись в datasource) и после возвращается и вызывает lookup, то соответственно - все хорошо.
Попробывал под отладчиком. В источнике данных 5.5, в realcontrol изменяю на 10, спрашиваю как текст control.ValueStr возвращает 5.5 Соответственно 2 подхода, как мне кажется...
1) Есть ли возможность получить значение В ДАННЫЙ момент введенное в control и еще не синхронизированное с datasourse?
2) Перед вызовом lookup принудительно синхронизировать ТЕКУЩЕЕ значение контрола с datasource?
Мне кажется, что первый вариант лучше, если он возможен...
C уважением, Дмитрий.
конечно данные введенные в поле при открытии lookUp заменяются тем значением что есть в базе, ведь новое введенное значение ещё не сохранено в системе!
если нужно что бы при открытии lookUp введенное значение сохранялось, тогда можете в методе lookUp до вызова super() (ну или до вызова построения и вывода Вашего lookUp) написать ds.write() (только надо учесть, что сохранятся все измененные поля), т.е. принудительно сохранить введенные значения в курсоре.
Единственно мне не очень понятно, зачем открывать lookUp на поле, когда туда введено
не сохраненное значение. Какая собственно стоит задача? Может она решается как то по другому?