Extjs Store更新

时间:2014-02-12 23:07:03

标签: extjs grid store

我有一个带有静态存储的网格,我想添加一条记录以在该网格中显示它,但是当我尝试将其添加到商店但网格不显示它时。

我为网格列添加了FilterFeature

这是商店:

var store_tipo_ingreso = Ext.create('Ext.data.Store', {
    storeId:'ingresosStore',
    fields: [
        {name: 'id', type: 'string'},
        {name:  'nombre', type: 'string'}

    ] ,

    data: [
        {id:'01',nombre:'Sancion'},
        {id:'02',nombre:'Intereses'},
        {id:'03',nombre:'Alquiler'}

    ]

});


var filtersCfg_ingresos = {
    ftype: 'filters',
    local: true,
    filters: [{
        type: 'string',
        dataIndex: 'id'
    },{
        type: 'string',
        dataIndex: 'nombre'
    }]
};



Ext.define('condominio_js.admin_AvisoCobro', {
    extend: 'Ext.tab.Panel',

    height: 478,
    width: 732,
    activeTab: 0,

    initComponent: function() {
        var me = this;

        Ext.applyIf(me, {
            items: [

                   {
                                    xtype: 'gridpanel',
                                    x: 10,
                                    y: 50,
                                    height: 180,
                                    width: 330,
                                    title: 'Tipo Ingresos',
                                    store: store_tipo_ingreso,
                                    features : [filtersCfg_ingresos],
                                    columns: [
                                        {
                                            xtype: 'gridcolumn',
                                            dataIndex: 'id',
                                            text: 'ID',
                                            filterable: true,
                                            name:'id'
                                        },
                                        {
                                            xtype: 'gridcolumn',
                                            width: 150,
                                            dataIndex: 'nombre',
                                            text: 'Nombre',
                                            filterable: true,
                                            name:'nombre'
                                        }
                                    ]
                                },
                                  {
                                    xtype: 'textfield',
                                    x: 10,
                                    y: 20,
                                    width: 220,
                                    fieldLabel: 'Nombre',
                                    id:'txt_nuevo_ingreso'

                                },
                                 {
                                    xtype: 'button',
                                    x: 240,
                                    y: 20,
                                    text: 'nuevo ingreso+',
                                    handler: function () {
                                        var new_data = {
                                            'ingreso': {
                                                "id": '05',
                                                "nombre": Ext.getCmp('txt_nuevo_ingreso').getValue()
                                            }
                                        };

                                        Ext.getStore('ingresosStore').add(new_data.ingreso);
                                        Ext.getCmp('txt_nuevo_ingreso').reset();

                                    }

                                }


]})
        me.callParent(arguments);
    }

});

1 个答案:

答案 0 :(得分:0)

如果你删除了你所分享的代码中没有包含的功能,它可以正常工作(see fiddle)所以我敢打赌你的问题来自这个功能。