Показать сообщение отдельно
Старый 28.02.2012, 19:14   #1  
Ar is offline
Ar
Участник
Аватар для Ar
Злыдни
 
21 / 20 (1) +++
Регистрация: 27.06.2005
Адрес: Москва
Добавление полей на форму в run-time
В init() формы CustTable после super() пишу следующий код (добавляю группу полей)...
X++:
void init()
{
    FormTabControl          fcContainer;
    FormGroupControl        fcGroup;
    //FormBuildTabPageControl fcContainer;
    //FormBuildGroupControl   fcGroup;
    ;

    //... some code before super() ...
    super();

    fcContainer = element.design().controlName('TabGeneral');
//    fcContainer = element.form().design().control('TabGeneral');
    fcGroup = fcContainer.addControl(FormControlType::Group, 'Vendor2');
    fcGroup.dataSource(tableStr(CustTable));
    fcGroup.dataGroup('Vendor');
//    fcGroup.autoDataGroup(true);
Форма добавляет группу без полей и не инициализирует DataSource.
Что я делаю не так?

UPD. Если вместо дизайна element.design() использовать element.form().design(), см. закомментированные части кроме последней строки, Акса падает.

UPD 2. Попробовал добавить группу полей в run() до и после super()... результат - тот же. Неужели поля из группы добавлять вручную?
За это сообщение автора поблагодарили: A-Lis-A (1).