AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.11.2004, 12:49   #1  
Oz is offline
Oz
Участник
Аватар для Oz
 
293 / 51 (2) ++++
Регистрация: 22.08.2002
Адрес: Москва
Изменение введенного значения
Ой! Щас чувствую, что буду закидан плохо пахнущими предметами

Не пробовал ли кто нибудь на лету перехватывать значение, введенное пользователем в орган формы и изменять его, причем так, чтобы система правильно выполнила бы все действия (т.е. учитывая измененное значение), предусмотренные при вводе этого значения?
Первой мыслью было перекрыть modified контрола, но во-первых не очень то получилось (см. код), а во-вторых это некорректно, т.к. до вызова modified уже проходит validate.
PHP код:
public boolean modified()
{
    
boolean ret true;
    
Qty buffer;
    
    
buffer this.realValue();

    
// Вычисления, результат которых записывается в buffer

    
this.realValue(buffer);

    
// Здесь получаем значение, полученное в результате вычислений
    
buffer this.realValue();

    
ret super();

    
// А вот здесь снова получаем значение, введенное вручную
    
buffer this.realValue();

    return 
ret;

Перекрывать validate в этих целях в принципе неверно.
Использовать edit метод? Не совсем понятно, куда передать введенное значение, так чтобы при этом система отработала, как при ручном вводе в это поле.
Может есть еще какие нибудь способы добиться желаемого?
__________________
Здесь могла быть Ваша реклама!
Старый 03.11.2004, 13:12   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Re: Изменение введенного значения
Цитата:
Изначально опубликовано Oz
Использовать edit метод? Не совсем понятно, куда передать введенное значение, так чтобы при этом система отработала, как при ручном вводе в это поле.
Может есть еще какие нибудь способы добиться желаемого?
edit-метод как раз для таких вещей и предназначен.
не понял вопроса про "как при ручном вводе".
недостаток edit-метода - не будет поиска и сортировки.
Старый 03.11.2004, 13:18   #3  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Приветсвую, Oz!

Перекрой modified не на контроле, а на датасорсе:
PHP код:
public void modified()
{
str buffer;
;
buffer MyTable.MyField;
buffer += "а так можно";
MyTable.MyField buffer;
super();

Но, на мой взгляд, было бы логичнее все-таки на validate - не потерял бы проверку на корректность.

C Уваженнием,
Георгий
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
где хранятся значения полей удаленных строк? chanchala DAX: Программирование 16 04.09.2008 10:45
Как получить значения полей (modifiedDate, modifiedTime, modifiedBy и др.) при работе с объектами AOT типа Map? LRA DAX: База знаний и проекты 15 02.04.2007 13:37
Изменение значений в DataSource... raniel DAX: Программирование 5 01.02.2007 17:15
Значения по умолчанию kvg6 DAX: Программирование 22 26.05.2006 15:45
изменение значения DialogField Natasha DAX: Программирование 8 23.04.2004 11:02

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:32.