formpanel内部的对齐问题

时间:2012-12-21 13:53:22

标签: extjs

我遇到一个问题,我无法在表单面板中找到文本框。基本上我想要内部面板内的2列布局

基本上我正在创建一个formpanel和内部,我计划再创建3个面板,但文本框总是以换行方式出现。

以下代码。

<html>
<head>
<title>Hello World Window</title>
<link rel="stylesheet" type="text/css" href="ext-3.4.0/resources/css/ext-all.css" />
<script type="text/javascript" src="ext-3.4.0/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="ext-3.4.0/ext-all.js"></script>
</head>

<body>
<script type="text/javascript">

    Ext.onReady(function(){
        var tab2 = new Ext.FormPanel({
            labelAlign: 'top',
            title: 'formname',
            bodyStyle:'padding:5px',
            width: 1200,
            height:600,
            items: [{
                xtype:'panel',
                plain:true,
                border:false,
                activeTab: 0,
                height:50,
                autoScroll:true,
                items:[{
                title:'Personal Details',
                defaults: {width: 230},
                layout:'form',
                defaultType: 'textfield',
                    items: [

                        {
                            fieldLabel: 'First Name',
                            name: 'first',
                            allowBlank:false,
                            value: 'Jack'
                        },{
                            fieldLabel: 'Last Name',
                            name: 'last',
                            value: 'Slocum',

                        },{ 
                            xtype:'combo',
                            fieldLabel: 'Company',
                            name: 'company',
                            value: 'Ext JS'
                        }, {
                            fieldLabel: 'Email',
                            name: 'email',
                            vtype:'email'
                        }]

                }]
                }],
            buttons: [{
            text: 'Save'
            },{
            text: 'Cancel'
            }]
        });

    tab2.render(document.body); 


});
</script> 

</div>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

使用ExtJS 4,您无需使用表单布局来管理字段标签:您可以使用每个布局容器来布局表单中的字段(请查看此http://docs.sencha.com/ext-js/4-0/#!/guide/upgrade)。 因此,尝试使用FormPanel的列布局,然后添加2个子容器,每个容器都使用vbox布局来管理所需的列:

new Ext.FormPanel({
        layout: 'column',
        items: [
        {
           xtype:'container',
           columnWidth: .5,
           layout: 'vbox',
           items: [
           put here left column items
           ]
        },
        {
           xtype:'container',
           layout: 'vbox',
           columnWidth: .5,
           items: [
           put here right column items
           ]
        }
    });

答案 1 :(得分:1)

这是在带有ExtJS 3.4的TabPanel内部工作:

// p is the tabPanel
t = p.add ({
    xtype: 'form',
    layout: 'column',
    items: [
        {
            xtype:'container',
            columnWidth: .5,
            frame: false,
            items: new Ext.Panel ({
                frame: false,
                bodyCssClass: 'x-panel-mc',
                bodyStyle: 'background-color: white',
                layout: 'form',
                items: formPart
            }),
        }, {
            xtype:'container',
            columnWidth: .5,
            items: buttonPart,
        }
    ],
});