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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.03.2006, 18:32   #1  
kitty is offline
kitty
Участник
 
370 / 30 (2) +++
Регистрация: 24.05.2005
задизаблить контролы
Есть форма. На ней помимо прочих контролов есть ButtonGroup(название у нее тоже ButtonGroup). В них содержатся Button-ы и MenuButton-ы. Нужно задизаблить в группе все эти Button-ы и MenuButton-ы. Делаю так:
PHP код:
 void  disableButtons()
{   
FormControl   buttonGroup;
    
Object           currentContainer;
    
Object           cont;
    
Object           ctrl;
    
int                 numc;
    
int                 ret 0;
    
int                 f;

    
buttonGroup element.control(control::ButtonGroup);
    
currentContainer form.design().control(buttonGroup.id());
    
numc currentContainer.controlCount();

    for (
1<= numcf++)
    {
        
ctrl currentContainer.controlNum(f);

            switch (
ctrl.handle())
            {
                case 
ClassNum(FormBuildButtonControl):             
                case 
ClassNum(FormBuildMenuButtonControl):
                    
ctrl.enabled(false);
                   
// info(ctrl.name());
                    
break;
            }
    }

Метод отрабатывает(вызываю на active одного из датасоурсов грида), имена контролов выводятся правильные(если раскомментить info). Но кнопки не дизаблятся.
вот такое : element.control(control::ButtonGroup).enabled(false);
помогает, но кнопки хоть и дизаблятся, но визуально выглядят почему-то как незадизабленые. . Что делаю не таак? Быть может проблема в неправильном использовании FormControl и FormBuildControl-ов?
Старый 16.03.2006, 10:20   #2  
Russland is offline
Russland
MCTS
Аватар для Russland
MCBMSS
 
267 / 116 (4) +++++
Регистрация: 17.10.2005
Адрес: Донеччина, Україна
Сразу одним махом всю группу не задизаблишь
Точнее они будут задизаблены, но визуально отображаться будут как доступные.
Прийдётся поэлементно возиться с каждым контролом.
По крайней мере, у меня не получалось малой кровью порешить эту проблему.

да и вообще, метод enabled() как-то кривовасто написан именно в плане визуализации элементов.

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

Если элемент с выпадающим списком и он был задизаблен в момент создания формы и если его отдизабливаешь то прорисовывается он коряво. Почему-то Arrow не прорисовывается

Короче решил я для себя, что или глюкоделы описывали enabled() метод, либо, какой-то глубочайший смысл заложен в нём, мне, увы, неподвластный
__________________

В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню
Старый 16.03.2006, 10:48   #3  
kitty is offline
kitty
Участник
 
370 / 30 (2) +++
Регистрация: 24.05.2005
Спасибо большое Russland за ответ !!
Старый 16.03.2006, 12:00   #4  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Вот решение вашей проблемы

Код:
void  disableButtons()
{   FormControl             buttonGroup;
    Object                  currentContainer;
    Object                  cont;
    Object                  ctrl;
    int                     numc;

    FormControl             currentButton;


    int                 ret = 0;
    int                 f;

    buttonGroup = element.control(control::ButtonGroup);
    currentContainer = form.design().control(buttonGroup.id());
    numc = currentContainer.controlCount();

    for (f = 1; f <= numc; f++)
    {
        ctrl = currentContainer.controlNum(f);

        element.control(ctrl.id()).enabled(false);
    }
}
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Контролы в отчётах koraman DAX: Программирование 2 03.11.2011 19:06
Очистить все контролы Андрей К. DAX: Программирование 7 27.06.2008 16:17
как использовать .net контролы (*.dll) sschainik DAX: Программирование 9 20.05.2008 14:45
Boud, bouded, bounding контролы konopello DAX: Программирование 8 07.12.2006 11:47
Динамические контролы в отчете основанные на display-методе petr DAX: Программирование 19 18.09.2006 15:29

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

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

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