|
09.09.2007, 17:47 | #1 |
Участник
|
Как программно перейти между закладками Tab
Как программно переходить между закладками в Tab. Кто-нибудь сталкивался с чем-нибудь подобным?
|
|
09.09.2007, 18:29 | #2 |
Участник
|
В дизайне формы поставьте для закладок свойство AutoDeclaration на Yes.
После этого в обработчике события пишем, например X++: general.activatePage(); Только у меня вопрос, зачем вам это ? Наверняка для того чтобы пользователи на забыли место ввода обязательной информации ? |
|
10.09.2007, 09:29 | #3 |
Участник
|
Цитата:
Пусть пользователи сами переносят обязательную информацию на первую закладку, а ненужную на другие. Научите их скрывать и менять порядок полей. Пользуйтесь сами этим инструментом. Не стоит пользоваться ненастроенными формами. А программно активировать вкладку не стоит. Поскольку в этом случае программа делает неожиданное для пользователей действие, которое сбивает пользователя с толку (Почему сейчас она перешла в другое место? Почему не переходит в остальных случаях? При каких условиях она сделает неожиданность еще раз?) |
|
10.09.2007, 10:48 | #4 |
Участник
|
Нет, пользователи сами попросили сделать, чтобы переход по закладкам на форме номенклатурных единиц происходил по горячим клавишам вперед-назад.
Большое количество заводимых номенклатур и работа только с клавиатурой сильно облегчило бы им работу. С activatePage() понятно, непонятно как получить слудующую или предыдущую закладку относительно текущей активной. |
|
10.09.2007, 10:55 | #5 |
Участник
|
Цитата:
Ctrl+Tab, Ctrl+Shift+Tab для ax3.0 См. http://www.axapta.mazzy.ru/lib/hotkeys/ |
|
10.09.2007, 11:02 | #6 |
Участник
|
Цитата:
Но если все же хочется идти выбранным путем, то все, что для этого нужно, есть у класса 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 |
Участник
|
2 mazzy: Горячие кнопки не совсем удобно, потому что работают только если активен контрол Tab
(вот такие привередливые пользователи 2 kashperuk: Спасибо, все получилось. Последний раз редактировалось jonny; 10.09.2007 в 11:45. |
|
10.09.2007, 11:41 | #8 |
Участник
|
Цитата:
Горячие клавиши работают, если активен не только контрол Tab, а любой контрол внутри него. Так сделано для того, чтобы горячик клавиши корректно работали с несколькими Табами на форме. Впрочем: как пожелаете. |
|
10.09.2007, 11:44 | #9 |
Участник
|
Я не говорю что горячие кнопки это плохо и они не корректно запрограммированны.
Просто захотелось максимально точно выполнить просьбу пользователей, для которых эта форма основной рабочий инструмент |
|