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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.12.2001, 07:07   #1  
Андрей Василюк is offline
Андрей Василюк
Участник
 
6 / 10 (1) +
Регистрация: 23.11.2001
Адрес: Moscow
Динамические Lookup формы.
Динамические Lookup формы.

Допустим, необходимо создать Lookup форму, вид которой и выводимые в ней данные зависели бы от внешних динамических факторов. Например, в Lookup форме должны выводится данные таблицы, выбранные определенным условием, параметры которого задает пользователь в основной форме.

Для этого в MorphX существует возможность создавать Lookup формы программным способом. За функционирование Lookup формы отвечает метод lookup(). Его необходимо переопределить и вписать следующий код:
X++:
void lookup()
{
  QueryBuildDataSource queryBuildDataSource;
  QueryBuildRange queryBuildRange;
  SysTableLookup sysTableLookup;
  TableId tableId;
  FieldId fieldId, fieldId1, fieldId2;
 
  Query query = new Query();
  sysTableLookup = new SysTableLookup();
  tableId = tablename2id('HB_AClassTable');    // присваивается id таблице 
  sysTableLookup.parmTableId(tableId);         //  задается таблица, для Lookup формы
  fieldId = fieldname2id(tableId, 'Name');           /*     
  sysTableLookup.addLookupfield(fieldId);                  присваиваются id полям и 
  fieldId1 = fieldname2id(tableId, 'Code');
  sysTableLookup.addLookupfield(fieldId1);                   помещаются в Lookup форму
  fieldId2 = fieldname2id(tableId, 'TypeId');      */
  sysTableLookup.addLookupfield(fieldId2);                                        
  queryBuildDataSource = query.addDataSource(tableId);
  queryBuildDataSource.addrange(fieldId2).value( queryvalue(cTypeCode));
// определяется условие выбора данных из таблицы. cTypeCode – параметр 
  sysTableLookup.parmQuery(query);
  this.performFormLookup(sysTableLookup.formRun());// активизация Lookup формы. 
}
Очевидно, что параметром может быть не только условие выбора данных, но и поля таблицы, и сама таблица. В силу своей простоты, такой способ создания Look up формы не позволяет поместить в нее, например, кнопку или какой-нибудь другой control(см. обучающий проект HB_Tutorial_Lookup ), но значительно расширяет ее Look up формы по сравнению со стандартной.
Теги
lookup

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Создание Lookup формы Maxim Gorbunov DAX: База знаний и проекты 9 26.06.2007 16:44
Автоматический вызов lookup при запуске формы demID DAX: Программирование 6 24.09.2004 17:34
Как подавить вызов LookUp формы при нажатии на "*" SergeyA DAX: Программирование 3 29.08.2003 13:10
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
lookup-формы изменяющегося размера Maxim Gorbunov DAX: Программирование 9 18.01.2002 19:22

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

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

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