1

团队,

我面临一个问题,我无法在表单面板内对齐文本框。基本上我想要内面板内的 2 列布局

基本上我正在创建一个表单面板,在里面我计划再创建 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>
4

2 回答 2

1

使用 ExtJS 4,您不需要使用表单布局来管理字段标签:您可以使用每个布局容器来布局表单中的字段(查看此http://docs.sencha.com/ext-js/4- 0/#!/指南/升级)。因此,请尝试为 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
           ]
        }
    });
于 2012-12-21T16:20:08.940 回答
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,
        }
    ],
});
于 2016-02-24T08:29:55.990 回答