Показать сообщение отдельно
Старый 13.09.2010, 21:42   #12  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
Цитата:
Сообщение от Logger Посмотреть сообщение
Можно написать код в sysSetupFormRun, в котором перебирать все контролы и если попался грид то отключать. У нас сделали - вроде работает.
Ну в общем тоже сделал.
Во вложении измененный SysSetupFormRun из RU5

если лень импортировать, то
X++:
private void autoSizeColumns(boolean _autoSizeColumns)
{
    void traverse(Object _parent)
    {
        int         cnt = _parent.controlCount();
        Object      child;
        int         i;
        ;
        if (_parent.handle() == classnum(FormGridControl))
        {
            _parent.autoSizeColumns(_autoSizeColumns);
        }
        else
        {
            for (i = 1; i <= cnt; i++)
            {
                child = _parent.controlNum(i);

                if (child.isContainer())
                {
                    traverse(child);
                }
            }
        }
    }
    traverse(this.design());
}
X++:
public void init()
{
    int a;
    // <GEEU>
    this.raiseEvent_W(methodstr(FormRunListener_W, beforeInit));
    // </GEEU>
    super();
    SysSecurityFormSetup::loadSecurity(this);
    this.dimensionFieldCtrls();
    this.inventStorageDimFieldCtrls();

    this.autoSizeColumns(false);

    if (this.isWorkflowEnabled())
    {
        workflowControls = SysWorkflowFormControls::construct(this);
        workflowControls.initControls();
    }
    // <GEEU>
    this.raiseEvent_W(methodstr(FormRunListener_W, afterInit));
    // </GEEU>
}
Малость (не более 0,1 сек) притормаживает открытие формы в зависимости от количества элементов на ней.
Вложения
Тип файла: xpo Class_SysSetupFormRun.xpo (10.8 Кб, 298 просмотров)
За это сообщение автора поблагодарили: mazzy (6), BOAL (5), Yegor (2), sukhanchik (8), Logger (5), Daiver (1), Link (1), ivas (2), Geo (2).