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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.12.2016, 12:55   #1  
Craz is offline
Craz
Участник
 
56 / 19 (1) ++
Регистрация: 17.09.2009
Динамическое добавление/удаление кнопок(MenuItemButton) на форме
Добрый день, подскажите пожалуйста, можно ли на форме динамически добавлять - удалять MenuItemButton?

Т.е. пользователь встает на запись, нажимает кнопку "выполнить" и ему на выбор 2 варианта, встает на другую запись нажимает кнопку "выполнить" и ему на выбор 4 других варианта?

Попробовал сделать так :
X++:
    design = element.form().design();
    menuCtrl = design.control("Execute");

    while (xExecuteActions)
    {
        itemButtonCtrl = menuCtrl .addControl(FormControlType::MenuFunctionButton,xExecuteActions.Id);
        itemButtonCtrl.dataSource(RContractTable_DS.name());
        itemButtonCtrl.menuItemType(MenuItemType::Action);
        itemButtonCtrl.menuItemName(menuitemactionstr(xExecuteActions.MenuItemName));
        itemButtonCtrl.helpText(xExecuteActions.Description);
        itemButtonCtrl.text(strfmt("%1 %2",xExecuteActions.Id,xExecuteActions.Version));
        next xExecuteActions;
     }
element.redraw();
В данном куске кода никаких ошибок не происходит и все отрабатывает, но как только нажимаешь на меню menuCtrl, который выполнить, где должны были отобразиться добавленные MenuItem. Аксапта просто крашится/вылетает.
Старый 22.12.2016, 13:07   #2  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,689 / 405 (17) +++++++
Регистрация: 23.03.2006
добавьте необходимое число кнопок на форму сразу, и управляйте их доступностью, перемещаясь по строкам
Старый 22.12.2016, 13:11   #3  
Craz is offline
Craz
Участник
 
56 / 19 (1) ++
Регистрация: 17.09.2009
Цитата:
Сообщение от ice Посмотреть сообщение
добавьте необходимое число кнопок на форму сразу, и управляйте их доступностью, перемещаясь по строкам
Да это решение на поверхности, но вдруг есть какой-то вариант, который не на поверхности и можно сделать недокументированный финт ушами.
Старый 22.12.2016, 14:02   #4  
Ruff is offline
Ruff
Дмитрий Ерин
Аватар для Ruff
1C
 
475 / 396 (14) ++++++
Регистрация: 18.09.2003
Адрес: Тула
Как вариант борьбы с крэшем - попробуйте добавить formRun.lock(); ... formRun.unlock(); вокруг вашего кода.

В стандарте можно посмотреть как сделаны складские отчеты - меню "Печать" в форме InventJournalTable заполняется частично динамически.

Конкретнее - см. метод \Classes\InventJournalFormTable\updateQueries_RU
__________________
За это сообщение автора поблагодарили: Craz (1).
Старый 22.12.2016, 16:59   #5  
Craz is offline
Craz
Участник
 
56 / 19 (1) ++
Регистрация: 17.09.2009
Цитата:
Сообщение от Ruff Посмотреть сообщение
Как вариант борьбы с крэшем - попробуйте добавить formRun.lock(); ... formRun.unlock(); вокруг вашего кода.

В стандарте можно посмотреть как сделаны складские отчеты - меню "Печать" в форме InventJournalTable заполняется частично динамически.

Конкретнее - см. метод \Classes\InventJournalFormTable\updateQueries_RU
Спасибо посмотрел, там действительно работает. У меня все равно не работает :-( ладно нет времени мучиться, сделаю с видимостью.
Старый 22.12.2016, 13:11   #6  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
С изменением дизайна после инициализации формы много проблем. В стандарте обычно вместо добавления/удаления элементов управления, заранее создают все необходимые элементы, а потом просто меняют их видимость.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axforum blogs: Установка активности кнопок на форме SalesTable при определенных условиях. Blog bot DAX Blogs 0 24.06.2015 16:11
Динамическое добавление контролов на форму erudit DAX: Программирование 14 28.02.2013 07:05
Динамическое создание DataSource на форме, и добавление элементов дизайна. epack DAX: Программирование 12 24.11.2010 15:31
Ошибка при работе клиента при выборе MenuItemButton из MenuButton на любой форме Карис DAX: Администрирование 3 04.04.2008 08:56
Добавление источника к запросу на форме Lucky13 DAX: Программирование 1 21.05.2007 17:12

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:50.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.