![]() |
#4 |
Ищущий знания...
|
Цитата:
Сообщение от 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 до вызова super() (ну или до вызова построения и вывода Вашего lookUp) написать ds.write() (только надо учесть, что сохранятся все измененные поля), т.е. принудительно сохранить введенные значения в курсоре. Единственно мне не очень понятно, зачем открывать lookUp на поле, когда туда введено не сохраненное значение. Какая собственно стоит задача? Может она решается как то по другому?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|