items中的数组内容,通过button触发添加,一直都没效果,只能是在panel上添加
代码:var index = 1;
var HWMForm = new Ext.FormPanel({
renderTo: 'HWMonitoring',
scope:'this',
id:'bobo',
labelAlign: 'left',
buttonAlign:'right',
bodyStyle:'padding:5px',
width: 627,
frame:false,
border:false,
labelWidth:80,
items: [{
layout:'column',
border:false,
labelSeparator:':',
id:'ItemBobo',
items:[{
id:'ri',
columnWidth:.5,
layout: 'form',
border:false,
defaults: {
anchor: '90%',
msgTarget: 'side'
},
items: [{
fieldLabel: 'Check CPU',
itemId: 'HW_CPU_VALIDATE',
xtype: 'combo',
emptyText :'Type',
editable :false,
typeAhead: true,
value: 'Inherit Default',
triggerAction: 'all',
store: [
['Enable','Enable'],
['Disable','Disable'],
['Inherit Default','Inherit Default']
],
lazyRender: true
}]
},{
columnWidth:.5,
layout: 'form',
border:false,
defaults: {
anchor: '90%',
msgTarget: 'side'
},
items: [{
fieldLabel: 'Check HD',
itemId: 'HW_HD_Validate',
xtype: 'combo',
emptyText :'Type',
editable :false,
typeAhead: true,
value: 'Inherit Default',
triggerAction: 'all',
store: [
['Enable','Enable'],
['Disable','Disable'],
['Inherit Default','Inherit Default']
],
lazyRender: true
}]
},{
columnWidth:.5,
layout: 'form',
border:false,
defaults: {
anchor: '90%',
msgTarget: 'side'
},
items: [{
fieldLabel: 'Critical',
itemId: 'HW_HD_Critical',
xtype: 'combo',
emptyText :'Type',
editable :false,
typeAhead: true,
value: 'Inherit Default',
triggerAction: 'all',
store: [
['Yes','Yes'],
['No','No'],
['Inherit Default','Inherit Default']
],
lazyRender: true
}] },{
columnWidth:1,
layout: 'form',
border:false,
defaults: {
anchor: '95%',
msgTarget: 'side'
},
items: [{
fieldLabel: 'FileSys',
id: 'HW_FS_'+index,
xtype:'textfield'
}]
}
],
buttons: [{
text: 'Add New',
handler:function(){
index++;
var _items=Ext.getCmp('ItemBobo').items;
_items.add(
{
columnWidth:1,
layout: 'form',
border:false,
defaults: {
anchor: '95%',
msgTarget: 'side'
},
items: [{
fieldLabel: 'FileSys',
id: 'HW_FS_'+index,
xtype:'textfield'
}]
}
);
panel上的效果代码,不过不美观
buttons: [{
text: 'Add New',
handler:function(){
index++;
var _items=Ext.getCmp('bobo');
_items.add(
{
columnWidth:1,
layout: 'form',
border:false,
defaults: {
anchor: '95%',
msgTarget: 'side'
},
items: [{
fieldLabel: 'FileSys',
id: 'HW_FS_'+index,
xtype:'textfield'
}]
}
);
代码:var index = 1;
var HWMForm = new Ext.FormPanel({
renderTo: 'HWMonitoring',
scope:'this',
id:'bobo',
labelAlign: 'left',
buttonAlign:'right',
bodyStyle:'padding:5px',
width: 627,
frame:false,
border:false,
labelWidth:80,
items: [{
layout:'column',
border:false,
labelSeparator:':',
id:'ItemBobo',
items:[{
id:'ri',
columnWidth:.5,
layout: 'form',
border:false,
defaults: {
anchor: '90%',
msgTarget: 'side'
},
items: [{
fieldLabel: 'Check CPU',
itemId: 'HW_CPU_VALIDATE',
xtype: 'combo',
emptyText :'Type',
editable :false,
typeAhead: true,
value: 'Inherit Default',
triggerAction: 'all',
store: [
['Enable','Enable'],
['Disable','Disable'],
['Inherit Default','Inherit Default']
],
lazyRender: true
}]
},{
columnWidth:.5,
layout: 'form',
border:false,
defaults: {
anchor: '90%',
msgTarget: 'side'
},
items: [{
fieldLabel: 'Check HD',
itemId: 'HW_HD_Validate',
xtype: 'combo',
emptyText :'Type',
editable :false,
typeAhead: true,
value: 'Inherit Default',
triggerAction: 'all',
store: [
['Enable','Enable'],
['Disable','Disable'],
['Inherit Default','Inherit Default']
],
lazyRender: true
}]
},{
columnWidth:.5,
layout: 'form',
border:false,
defaults: {
anchor: '90%',
msgTarget: 'side'
},
items: [{
fieldLabel: 'Critical',
itemId: 'HW_HD_Critical',
xtype: 'combo',
emptyText :'Type',
editable :false,
typeAhead: true,
value: 'Inherit Default',
triggerAction: 'all',
store: [
['Yes','Yes'],
['No','No'],
['Inherit Default','Inherit Default']
],
lazyRender: true
}] },{
columnWidth:1,
layout: 'form',
border:false,
defaults: {
anchor: '95%',
msgTarget: 'side'
},
items: [{
fieldLabel: 'FileSys',
id: 'HW_FS_'+index,
xtype:'textfield'
}]
}
],
buttons: [{
text: 'Add New',
handler:function(){
index++;
var _items=Ext.getCmp('ItemBobo').items;
_items.add(
{
columnWidth:1,
layout: 'form',
border:false,
defaults: {
anchor: '95%',
msgTarget: 'side'
},
items: [{
fieldLabel: 'FileSys',
id: 'HW_FS_'+index,
xtype:'textfield'
}]
}
);
panel上的效果代码,不过不美观
buttons: [{
text: 'Add New',
handler:function(){
index++;
var _items=Ext.getCmp('bobo');
_items.add(
{
columnWidth:1,
layout: 'form',
border:false,
defaults: {
anchor: '95%',
msgTarget: 'side'
},
items: [{
fieldLabel: 'FileSys',
id: 'HW_FS_'+index,
xtype:'textfield'
}]
}
);
buttons: [{
text: 'Add New',
handler:function(){
index++;
var _items=Ext.getCmp(‘ItemBobo’).items;//这边可以获得到formpanel的items属性
不知道下面在items中添加内容的代码对不对,但一直没效果
_items.add{
columnWidth:1,
layout: 'form',
border:false,
defaults: {
anchor: '95%',
msgTarget: 'side'
},
items: [{
fieldLabel: 'FileSys',
id: 'HW_FS_'+index,
xtype:'textfield'
}]
}
);
_items.doLayout(true);
}
咱通常用两种办法添加组件:
1、
Ext往组件中动态添加内容 Ext.getCmp('组件容器id').add(新组件)
2、就是你上边的那种 拿items进行操作 然后重新渲染
但是你上边对items进行操作 就不能add了 因为items是一个数组 得用_items.push 另外doLayout是组件容器的方法 不是items的方法
我是在formpanel上add {
columnWidth : 1,
layout : 'form',
border : false,
defaults : {
anchor : '95%',
msgTarget : 'side'
},
items : [{
fieldLabel : 'FileSys',
id : 'HW_FS_'
+ HWMFormindex,
xtype : 'textfield'
}]这样会增加在items上吗?
}