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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.03.2004, 22:08   #1  
NIMERE is offline
NIMERE
Участник
 
36 / 11 (1) +
Регистрация: 09.12.2003
О Lookup-форме и FormFrame::Border
На лету в зависимости от места вызова подменяю свойство Frame, созданной в AOT формы. Если она вызывается как отдельная форма, то Standard, если как Lookup-форма, то как Border.
Подменяю в методе run формы до super():
PHP код:
public void run()
{
    switch (
element.args().dataset())
    {
        case 
TableNum(InventTable) :
        {
                
element.design().frame(FormFrame::Border);
                
element.design().windowType(FormWindowType::PopUp);
                break;
        }

        default:
        {
                
element.design().frame(FormFrame::Standard);
                
element.design().windowType(FormWindowType::Standard);
                break;
         }
    }

    
super();

Проверка из самой вызываемой формы показала, что значение Frame изменяется, что однако не скажешь о реальном отображении формы: в случае Border форма остается Standard (по-умолчанию как настроено в AOT) при этом опросив FormFrame из формы в противоречие этому получаем Border.
Необходимость изменения Frame пришла в следствие ситуации, когда форма, вызываемая как Lookup-форма и настроенная с Frame = Standard в случае если Lookup-форма открывается так близко к краю окна, что не может поместиться полностью, остается активной только пока пользователь не отпустил левую клавишу мышки, а в случае если же такая Lookup-форма открывается на достаточном расстоянии от края, то она остается активной и далее.

Далее, посмотрим с другой стороны - изменим Frame в самом AOT на Border... В случае с Lookup-формой, все отрабатывает замечательно - видно, что форма привязывается к кнопке со стрелкой, однако в случае вызова формы самой по себе Frame на лету также изменить не удается - шапки формы не видно...
И еще один момент: в отличие от ситуации с Frame, windowType в приведенном выше коде отлично отрабатывает.

Прошу помощи - как реально сменить Frame у формы на лету, что в этом свойстве такого особенного?
__________________
Локальная версия продукта: MBS-Axapta 3.0 Eastern Europe SP6 Build #15.0
Системная версия продукта: MBS-Axapta 3.0 Build #1951.7609/514-859 SP6/OP023-659
Старый 22.03.2004, 12:17   #2  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
А если попробовать выставлять это свойство в init() формы до super(), используя
form.design().frame() ?

Обнаружил похожий пример: форма SysConView.
__________________
Андрей.
Старый 22.03.2004, 12:51   #3  
NIMERE is offline
NIMERE
Участник
 
36 / 11 (1) +
Регистрация: 09.12.2003
Да, тоже увидел. Там забавно с переменной lookup сделано, поскольку в init до super() - element.args().dataset() - не прочтешь... Хотя в итоге не стал так изголяться, а по возникшим в процессе причинам сделал отдельную Lookup-форму.
__________________
Локальная версия продукта: MBS-Axapta 3.0 Eastern Europe SP6 Build #15.0
Системная версия продукта: MBS-Axapta 3.0 Build #1951.7609/514-859 SP6/OP023-659
Старый 22.03.2004, 13:04   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
и это правильно, это хорошо
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
список подключенных принтеров в lookup на форме lexx DAX: Программирование 9 12.04.2012 16:59
Набор однотипных lookup() методов на форме johny77 DAX: Программирование 1 10.04.2007 13:12
lookup фильтр в произвольной lookup форме 111andrei DAX: Программирование 4 05.10.2005 11:28
Сортировка и/или фильтры в lookup форме - howto. Maximin DAX: Программирование 5 07.06.2005 11:06
Фильтрация в Lookup-форме Rem DAX: Программирование 5 27.04.2002 08:27

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

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

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