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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.09.2007, 17:47   #1  
jonny is offline
jonny
Участник
Аватар для jonny
Самостоятельные клиенты AX
 
217 / 124 (5) +++++
Регистрация: 10.02.2006
Адрес: СПб-Екб-?
Как программно перейти между закладками Tab
Как программно переходить между закладками в Tab. Кто-нибудь сталкивался с чем-нибудь подобным?
Старый 09.09.2007, 18:29   #2  
longson is offline
longson
Участник
 
231 / 49 (2) +++
Регистрация: 12.12.2006
Адрес: Москва
В дизайне формы поставьте для закладок свойство AutoDeclaration на Yes.

После этого в обработчике события пишем, например

X++:
general.activatePage();
где general - это имя переменной закладки.

Только у меня вопрос, зачем вам это ? Наверняка для того чтобы пользователи на забыли место ввода обязательной информации ?
Старый 10.09.2007, 09:29   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от longson Посмотреть сообщение
Наверняка для того чтобы пользователи на забыли место ввода обязательной информации ?
А для этого научите пользователей пользоваться настройкой форм.
Пусть пользователи сами переносят обязательную информацию на первую закладку, а ненужную на другие.
Научите их скрывать и менять порядок полей.

Пользуйтесь сами этим инструментом.
Не стоит пользоваться ненастроенными формами.

А программно активировать вкладку не стоит.
Поскольку в этом случае программа делает неожиданное для пользователей действие, которое сбивает пользователя с толку (Почему сейчас она перешла в другое место? Почему не переходит в остальных случаях? При каких условиях она сделает неожиданность еще раз?)
__________________
полезное на axForum, github, vk, coub.
Старый 10.09.2007, 10:48   #4  
jonny is offline
jonny
Участник
Аватар для jonny
Самостоятельные клиенты AX
 
217 / 124 (5) +++++
Регистрация: 10.02.2006
Адрес: СПб-Екб-?
Нет, пользователи сами попросили сделать, чтобы переход по закладкам на форме номенклатурных единиц происходил по горячим клавишам вперед-назад.
Большое количество заводимых номенклатур и работа только с клавиатурой сильно облегчило бы им работу.
С activatePage() понятно, непонятно как получить слудующую или предыдущую закладку относительно текущей активной.
Старый 10.09.2007, 10:55   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от jonny Посмотреть сообщение
Нет, пользователи сами попросили сделать, чтобы переход по закладкам на форме номенклатурных единиц происходил по горячим клавишам вперед-назад.
"Делать" ничего не надо.
Ctrl+Tab, Ctrl+Shift+Tab для ax3.0
См. http://www.axapta.mazzy.ru/lib/hotkeys/
__________________
полезное на axForum, github, vk, coub.
Старый 10.09.2007, 11:02   #6  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от jonny Посмотреть сообщение
С activatePage() понятно, непонятно как получить слудующую или предыдущую закладку относительно текущей активной.
Здесь согласен с mazzy - намного проще и правильнее научить пользователей горячим клавишам.

Но если все же хочется идти выбранным путем, то все, что для этого нужно, есть у класса FormTabControl - вот пример кода с кнопки на форме.

X++:
void clicked()
{
    FormTabControl  tabCtrl;
    ;
    super();

    tabCtrl = element.control(Control::Tab);

    print tabCtrl.tab(); //возврает тек. закладку
    print tabCtrl.tabValue(); //возврает тек. закладку
    print tabCtrl.tabs(); //общее кол-во
    pause;

    tabCtrl.tabValue(3); //установим активной 3ью закладку
    //tabCtrl.tab(3);
}
Старый 10.09.2007, 11:37   #7  
jonny is offline
jonny
Участник
Аватар для jonny
Самостоятельные клиенты AX
 
217 / 124 (5) +++++
Регистрация: 10.02.2006
Адрес: СПб-Екб-?
2 mazzy: Горячие кнопки не совсем удобно, потому что работают только если активен контрол Tab
(вот такие привередливые пользователи
2 kashperuk: Спасибо, все получилось.

Последний раз редактировалось jonny; 10.09.2007 в 11:45.
Старый 10.09.2007, 11:41   #8  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от jonny Посмотреть сообщение
2 mazzн: Горячие кнопки не совсем удобно, потому что работают только если активен контрол Tab
(вот такие привередливые пользователи
Горячие клавиши не работают, если текущим является контрол за пределами Tab'а (например, кнопки).
Горячие клавиши работают, если активен не только контрол Tab, а любой контрол внутри него.

Так сделано для того, чтобы горячик клавиши корректно работали с несколькими Табами на форме.

Впрочем: как пожелаете.
__________________
полезное на axForum, github, vk, coub.
Старый 10.09.2007, 11:44   #9  
jonny is offline
jonny
Участник
Аватар для jonny
Самостоятельные клиенты AX
 
217 / 124 (5) +++++
Регистрация: 10.02.2006
Адрес: СПб-Екб-?
Я не говорю что горячие кнопки это плохо и они не корректно запрограммированны.
Просто захотелось максимально точно выполнить просьбу пользователей, для которых эта форма основной рабочий инструмент
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как сделать AND между двумя датасорсами на одном уровне в query rkorchagin DAX: Программирование 15 15.01.2009 17:42
Как добавить больше tab pages in runtime Sveta1978 DAX: Программирование 1 10.12.2007 20:55
Как программно передвинуть контрол? madm DAX: База знаний и проекты 16 18.01.2007 19:32
WebForm с WebTab - не могу переключится между закладками IvanS DAX: Администрирование 9 28.10.2006 15:05
WebForm с WebTab - не могу переключится между закладками Jony DAX: Программирование 0 25.06.2003 13:00

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

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

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