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'
}]
  }
                 );

解决方案 »

  1.   

    关键代码:    
                               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);
                    }
      

  2.   

    呵呵 对就怪了~~ 
    咱通常用两种办法添加组件:
    1、
    Ext往组件中动态添加内容 Ext.getCmp('组件容器id').add(新组件)
    2、就是你上边的那种 拿items进行操作 然后重新渲染
    但是你上边对items进行操作 就不能add了 因为items是一个数组 得用_items.push 另外doLayout是组件容器的方法 不是items的方法
      

  3.   

    push firebug显示 not a function啊
    我是在formpanel上add {
    columnWidth : 1,
    layout : 'form',
    border : false,
    defaults : {
    anchor : '95%',
    msgTarget : 'side'
    },
    items : [{
    fieldLabel : 'FileSys',
    id : 'HW_FS_'
    + HWMFormindex,
    xtype : 'textfield'
    }]这样会增加在items上吗?
    }