Цитата:
Сообщение от
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 сек) притормаживает открытие формы в зависимости от количества элементов на ней.