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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.02.2013, 11:58   #1  
Vasiliusis is offline
Vasiliusis
Участник
 
225 / 13 (1) ++
Регистрация: 30.01.2013
Ice,
Цитата:
Сообщение от ice Посмотреть сообщение
Видимо вы путаете термин "поле" и термин "контролл". На форме находятся контроллы.
Да, прошу прощения, какая-то дурацкая привычка

Цитата:
Сообщение от ice Посмотреть сообщение
Если у них одинаковые датасорс и датафилд, то копировать значения не требуется, тк значение хранится в поле таблицы и отображается с помощью контролла, сколько бы их на форме не было
Согласен, но причина в том, что это, как бы сказать, форма для вставки несуществующей пока еще записи в таблице... Вот, забыл сказать сразу. Да, лучше делать такие действия через Grid, но в данной ситуации так нельзя сделать, не предполагается такая функциональность.

Последний раз редактировалось Vasiliusis; 08.02.2013 в 12:03.
Старый 08.02.2013, 12:03   #2  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,817 / 402 (17) +++++++
Регистрация: 23.03.2006
Цитата:
Сообщение от Vasiliusis Посмотреть сообщение
Согласен, но причина в том, что это, как бы сказать, форма для вставки несуществующей пока еще записи в таблице...
сути дела не меняет, при заполнении значения в одном контролле, и переходе с него на другой, отображаемое значение на всех "одинаковых" контроллах обновятся
Старый 08.02.2013, 12:08   #3  
Vasiliusis is offline
Vasiliusis
Участник
 
225 / 13 (1) ++
Регистрация: 30.01.2013
Цитата:
Сообщение от ice Посмотреть сообщение
сути дела не меняет, при заполнении значения в одном контролле, и переходе с него на другой, отображаемое значение на всех "одинаковых" контроллах обновятся
Айяйяй соврал соврал! Поля разные, датасорс один, но ссылаются на одну и ту же таблицу! Простите, виноват

А так да, согласен.. ну опыта не более двух недель...
Старый 08.02.2013, 12:12   #4  
Vasiliusis is offline
Vasiliusis
Участник
 
225 / 13 (1) ++
Регистрация: 30.01.2013
Например, такой код не работает
X++:
    ...

    //Ставим борт прилета, если он задан
    if (FlightShedule_AirCraft.text() != "")
    {
        select firstonly * from NVAOMAAirCraft
            where NVAOMAAirCraft.AirCraftNum == FlightShedule_AirCraft.text();

        FlightShedule_AirCraftD.text(NVAOMAAirCraft.AirCraftNum);
        FlightShedule_AirCraftD.modified();

    }

    ...
Старый 08.02.2013, 12:23   #5  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,443 / 1781 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Vasiliusis Посмотреть сообщение
Например, такой код не работает
А в каком методе находится этот код?

Если контролы у вас связаны с датасурсом, то правильнее будет значения менять в полях датасурса, а не в контролах.
Старый 08.02.2013, 12:37   #6  
Vasiliusis is offline
Vasiliusis
Участник
 
225 / 13 (1) ++
Регистрация: 30.01.2013
ice, спасибо! Такой код написал, он правилен?
X++:
public void modified()
{
    //super();

    ;
    if (!this.getValue())
        this.setValue(FlightShedule_AirCraft.text());
}
Это в методе modified поля датасорса. К modifiedField я не притрагивался

S.Kuskov, по-видимому, так и есть.
Старый 08.02.2013, 13:20   #7  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,443 / 1781 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
На сколько я понял - это modified контрола, а как вам уже сдесь сказали бизнесс-логику правильнее реализовывать в методах таблиц, ну или в случае если эта логика не относится в целом к таблице, то в методах конкретного датасорса. А методы контролов оставьте для презентационной логики.

Ещё, судя по вашему описанию, значение должно копироваться во второе поле в момент изменения первого поля. Так зачем вы пытаетесь перекрыть метод изменения второго поля, а не первого?
Старый 08.02.2013, 12:17   #8  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,817 / 402 (17) +++++++
Регистрация: 23.03.2006
Цитата:
Сообщение от Vasiliusis Посмотреть сообщение
Айяйяй соврал соврал! Поля разные, датасорс один, но ссылаются на одну и ту же таблицу! Простите, виноват

А так да, согласен.. ну опыта не более двух недель...
тогда смотрите в сторону перекрытия методов modified() на поле датасорса, modifiedField() на таблице
За это сообщение автора поблагодарили: Vasiliusis (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Имитация выбора значения поля на DS формы. bodeaux DAX: Программирование 8 04.12.2012 10:41
Поля из разных таблиц в динамической Lookup-форме samolalex DAX: Программирование 8 06.06.2011 20:20
LookUp. На основе предыдущего значения. Михаил Петрович DAX: Программирование 4 24.10.2007 12:26
Как перекрыть lookup для поля входящего в группу полей ATimTim DAX: Программирование 2 05.10.2005 11:26
Как получить значения поля из lookup метода в WEB Dronas DAX: Программирование 5 13.01.2005 10:17

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

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

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