javascript – 在ExtJS中,如何将两个字段集并排放置在具有hbox布局的面板中?

在ExtJS中,我在使用hbox布局的面板中并排放置两个fieldset时遇到了一些麻烦. hbox布局似乎没有意识到fieldset的高度,并将其切断,即使我明确地将面板的高度设置为大的高度.

这是它的样子:

http://img717.imageshack.us/img717/4849/screenshot20100303at927.png

蓝色边框是hbox面板,里面有2个字段集,“客户信息”和“所有者信息”.代码是这样的(在Firebug中简化和运行):

var clientInfo = {
    xtype: 'fieldset',
    defaultType: 'textfield',
    title: 'Client Info',
    items:
    [
        { fieldLabel: 'First Name' },
        { fieldLabel: 'Last Name' },
        { fieldLabel: 'Cell Phone #' },
        { fieldLabel: 'Work Phone #' }
    ]
};

var ownerInfo = {
    xtype: 'fieldset',
    defaultType: 'textfield',
    title: 'Owner Info',
    items:
    [
        { fieldLabel: 'First Name' },
        { fieldLabel: 'Last Name' },
        { fieldLabel: 'Cell Phone #' },
        { fieldLabel: 'Work Phone #' }
    ]
};

new Ext.Panel({
    layout: 'hbox',
    frame: true,
    height: 400,
    width: 800,
    defaults: { flex: 1 },
    items: [ clientInfo, ownerInfo ]
}).render(document.body);

附:如果删除默认值:{flex:1},则字段集会正确呈现,但不会自动调整大小以适应容器,这是我需要的.

有人知道如何解决这个渲染问题吗?谢谢.

解决方法:

尝试autoHeight:在您的fieldsets中为true.

另一种替代方案可能是列布局,其中每列给出50%的可用宽度.

相关文章

我有一个问题,我不知道如何解决.我有一个Indy10HTTP服务器.我...
我正在使用sdk1.17开发一个Firefox附加组件.它包含一个带有按...
Ext.define('PhysicsEvaluationSystemV1.view.base.Bas...
默认所有列(假设列3最大3列,动态显示),使用headerRowsEx中...
序言   1.ExtJs是一套很好的后台框架。现在很流行的,我们...
我在ExtJs中有这个表单.如果field1不为空,则field2不能为空....