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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.08.2007, 13:12   #1  
3oppo is offline
3oppo
Участник
Аватар для 3oppo
 
222 / 32 (2) +++
Регистрация: 30.06.2005
Как получить мультиселект стандартными средствами!?
Задача:

На гриде выбран мульти селект, по нажатию кнопки вызывается класс. Вопрос как в классе получить эти выбранные строки!? Напрашивается решение, обработать нажатие кнопки, в обработчике создать список выбранных записей и этот список передать классу. Так всегда и делал но всегда мучила мысль что возможно есть более простой способ. Через АРГС мы же можем получит одну запись, почему нельзя получить все?! Кто знает ещё способы подскажите плиз.
За это сообщение автора поблагодарили: vladz (1).
Старый 09.08.2007, 13:20   #2  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
База знаний ERP : Axapta / Перебор Выделенных Строк
За это сообщение автора поблагодарили: vladz (1).
Старый 09.08.2007, 13:21   #3  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
намёк: FormDataSource == _args.record.dataset()
Старый 09.08.2007, 13:21   #4  
3oppo is offline
3oppo
Участник
Аватар для 3oppo
 
222 / 32 (2) +++
Регистрация: 30.06.2005
Всё понял.
Кто не понял, вот так

X++:
Formdatasource       FDS;
   ;

   FDS          =   _args.record().dataSource();
   EmplTable    =   FDS.getFirst();
Старый 09.08.2007, 13:32   #5  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
добавил в статью еще энумератор
Старый 10.08.2007, 06:32   #6  
Sequel is offline
Sequel
Участник
 
53 / 13 (1) ++
Регистрация: 17.06.2005
Адрес: Новокузнецк
Прикольно. Не знал про такой метод. Причем args.record.dataSource() возвращает объект типа FormObjectSet, но как я понял, он является родительским для FormDataSource
Старый 10.08.2007, 07:59   #7  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Аналогично ...Бум знать

P.S. Где ж, интересно, бедному программеру со стороны клиента узнать иерархию системных классов, невидимых в АОТ ? И в курсах по AX Development ни слова
Старый 10.08.2007, 08:04   #8  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Оно в System Documentation в AOT видимо
За это сообщение автора поблагодарили: TasmanianDevil (2).
Старый 10.08.2007, 09:16   #9  
Sequel is offline
Sequel
Участник
 
53 / 13 (1) ++
Регистрация: 17.06.2005
Адрес: Новокузнецк
А еще интересно вот что: раз в аргс передается FormObjectSet значит помимо FormDataSource могут передаваться и другие наследники FormObjectSet. Интересно - какие и для каких случаев
Старый 10.08.2007, 10:51   #10  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
У FormObjectSet только один наследник, это видно по Иерархии объектов в System Documentation.
__________________
Андрей.
Старый 29.12.2010, 12:44   #11  
virtuoso is offline
virtuoso
Участник
 
40 / 15 (1) ++
Регистрация: 06.06.2007
Скажите, пожалуйста, а почему в методе getFirst во всех этих переборах используется параметр _fetchAhead=true?
Цитата:
  • _fetchAhead : If false only cached records are returned, if true additional records are found and added to the cache
Обычно перебираются записи, выделенные на форме, т.е., насколько я понимаю, находящиеся в кэше. Зачем тогда подтягивать в кэш остальные?
Старый 29.12.2010, 12:50   #12  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
можно выделить и все записи вообще - нажатием на правый верхний угол грида
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: S.Kuskov (1), virtuoso (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как получить указатель на отчёт когда пользователь выбрал Печать на принтер в просмотрщике, в форму SysPrintForm? rkorchagin DAX: Программирование 10 17.04.2008 11:59
Как получить значения полей (modifiedDate, modifiedTime, modifiedBy и др.) при работе с объектами AOT типа Map? LRA DAX: База знаний и проекты 15 02.04.2007 13:37
Импорт из Excel через шаблон стандартными средствами аксапты NV DAX: Функционал 5 20.01.2005 12:26
Можно ли в одном select`e получить maxof и minof по одному полю? ArturK DAX: Программирование 2 28.04.2004 12:28
Как получить значение поля Datasource на динамически созданной форме? storer DAX: Программирование 2 14.11.2003 16:41

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

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

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