ExtJS FormPanel Изменить labelWidth после динамического добавления полей - PullRequest
1 голос
/ 07 июня 2010

У меня есть динамическая FormPanel, где мне нужно установить ширину метки после того, как я загрузил все поля.Я пытался использовать this.labelWidth = 200 перед вызовом this.doLayout, но он игнорирует новое значение.

Может кто-нибудь сказать мне, где я могу установить это и перерисовать форму, спасибо.

Ответы [ 2 ]

1 голос
/ 09 июля 2010

После просмотра исходного кода extjs для FormLayout я обнаружил, что некоторые переменные, которые вы можете установить, чтобы изменить ширину метки, перед вызовом doLayout в форме.

, поэтому внутри вашей FormPanel используйте следующий код для изменения ширины метки:

Ext.apply(this.layout, {
    labelAdjust: this.labelWidth + 5,
    labelStyle: 'width:' + this.labelWidth + 'px;',
    elementStyle: 'padding-left:' + (this.labelWidth + 5) + 'px'
});

this.doLayout();
0 голосов
/ 08 июня 2010

Может ли быть так, что опция конфигурации labelWidth больше не учитывается после визуализации FormPanel? Возможно, вы могли бы получить ссылку на все метки с помощью FormPanel.findByType, установить ширину меток на 200 и затем , вызывая FormPanel.doLayout?

...