extjs 4.1如何在表单面板中重置fieldcontainer

时间:2013-06-27 03:30:34

标签: extjs4.1

我在表单面板中有很多fieldcontainer。我想只重置一个fieldcontainer而不是整个面板。但我不能这样做。我该怎么做?这是我的代码

Ext.define(Fsl.app.getAbsView('V01T007001X04'), {
extend          : 'Ext.form.Panel',
alias           :  Fsl.app.getAlias('V01T007001X04'),
id              : 'V01T007001X04'.toLowerCase(),  
margin          : '0 0 0 0',
initComponent   : function(){
    this.items  =[{                
        xtype               : 'fieldcontainer',
        layout              : 'vbox',           
        items :[{
            items   : [{
                xtype             : 'fieldcontainer',
                layout            : 'vbox',
                margin            : '5 5 0 5',           
                items : [                        
                {
                    xtype               : 'numberfield',                
                    fieldLabel          : 'InvoiceNo',
                    name                : 'invoiceId',
                }]
            },                         
            {
                xtype               : 'fieldcontainer',
                layout              : 'vbox',
                margin              : '5 0 0 10',                        
                items: [{
                    xtype               : 'datefield',
                    name                : 'date',
                    fieldLabel          : 'Date'
                }]
            },{
                xtype               : 'fieldcontainer',
                layout              : 'vbox',
                margin              : '5 0 0 10',                                  
                items: [{
                    xtype               : 'textfield',
                    name                : 'branchId',
                    fieldLabel          : 'Branch Id',
                }]
            }]
        }]
    },{

        xtype               : 'fieldcontainer',
        combineErrors       : true,
        layout              : 'hbox',   
        items: [{
            xtype               : 'numberfield',
            fieldLabel          : 'Article Id',
            name                : 'articleId',
        }]
    }];
    this.callParent(arguments);
}
});

1 个答案:

答案 0 :(得分:1)

您应该能够查询所需的fieldcontainer,然后在容器内的每个字段上运行reset()函数。首先提供fieldcontainer itemId媒体资源,以便查询:

{
    xtype: 'fieldcontainer',
    itemId: 'invoiceCt',
    items : [                        
    {
        xtype: 'numberfield',                
        fieldLabel: 'InvoiceNo',
        name: 'invoiceId',
    }]
},

然后查询fieldcontainer并重置其中的每个字段:

var fieldContainer = form.down('#invoiceCt');
fieldContainer.items.each(function(f) {
    if (Ext.isFunction(f.reset)) {
        f.reset();
    }
});