【发布时间】:2010-07-09 22:44:03
【问题描述】:
我有一个动态 FormPanel,我需要在加载完所有字段后设置标签宽度。我在调用 this.doLayout 之前尝试过使用 this.labelWidth = 200 ,但它忽略了新值。
谁能告诉我在哪里可以设置并重新绘制表格,谢谢。
【问题讨论】:
我有一个动态 FormPanel,我需要在加载完所有字段后设置标签宽度。我在调用 this.doLayout 之前尝试过使用 this.labelWidth = 200 ,但它忽略了新值。
谁能告诉我在哪里可以设置并重新绘制表格,谢谢。
【问题讨论】:
在查看了 FormLayout 的 extjs 源代码后,我发现在表单上调用 doLayout 之前,您可以设置一些变量来更改标签宽度。
所以在您的 FormPanel 中使用以下代码来更改标签宽度:
Ext.apply(this.layout, {
labelAdjust: this.labelWidth + 5,
labelStyle: 'width:' + this.labelWidth + 'px;',
elementStyle: 'padding-left:' + (this.labelWidth + 5) + 'px'
});
this.doLayout();
【讨论】:
会不会是在 FormPanel 渲染后不再考虑 labelWidth 配置选项?也许您可以使用FormPanel.findByType 获取对所有标签的引用,将标签宽度设置为200,然后然后调用FormPanel.doLayout?
【讨论】: