团队我在ext js面板中面临两个项目对齐问题。我使用的是extjs 3.4版。
基本上我想在每行中水平对齐两个面板文本框,但到目前为止每行只有一个。
似乎面板和第一个文本框之间没有空格。我们有什么方法可以在EXTJS 3.4
中做到这一点代码:
<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: 'left',
labelStyle: 'font-weight:bold;',
labelWidth: 85,
title: 'formname',
bodyStyle:'padding:5px',
scrollable:'true',
border:'true',
width: 1200,
height:600,
items: [{
xtype:'panel',
height:200,
autoScroll:true,
defaults: {flex: 1, layout: 'form', border: false},
layout:'hbox',
items:[{
title:'Personal Details',
defaultType: 'textfield',
items: [
{
fieldLabel: 'First Name',
name: 'first',
width:200,
allowBlank:false,
value: 'Jack'
},{
fieldLabel: 'Last Name',
name: 'last',
width:200,
value: 'Slocum'
},{
xtype:'combo',
fieldLabel: 'Company',
name: 'company',
width:200,
value: 'Ext JS'
}, {
fieldLabel: 'Email',
name: 'email',
width:200,
vtype:'email'
}]
}]
}],
buttons: [{
text: 'Save'
},{
text: 'Cancel'
}]
});
tab2.render(document.body);
});
</script>
</div>
</body>
</html>
答案 0 :(得分:1)
IMO最简单的方法是使用FormLayout
并通过CSS修改定位。 FormLayout
中的每个字段都包含在div.x-form-item
中,因此您可以为其设置float: left
样式。如果将字段宽度调整为面板宽度,则只需执行此操作即可。但是,你必须在每个seconond字段上设置clear: left
。
工作样本:http://jsfiddle.net/wC5hZ/2/
您也可以使用TableLayout
,但代码更多。