Extjs无法刷新网格存储

时间:2014-02-26 03:22:05

标签: javascript extjs store gridpanel

当我尝试从Extjs WindowsB刷新Extjs WindowsA中的网格存储时出现问题..这是代码

我的WindowsA里面有一个网格,里面有这个商店

var store_grid_egresos_fijos = Ext.create('Ext.data.Store', {
    fields: [
        {name: 'concepto_egreso.id', type: 'int'},
        {name: 'tipo', type: 'string'},
        {name:  'concepto_egreso.nombre', type: 'string'},
        {name:  'monto', type: 'numeric'},
        {name:  'fecha', type: 'date', dateFormat: 'Y-m-d'},
        {name:  'referencia_documento_mercantil', type: 'string'},
        {name:  'nro_factura', type: 'string'},
        {name:  'cuenta.nombre', type: 'numeric'}

    ],
    proxy: {
        type: 'ajax',
        url: '/egreso/egresos_by_date',
        reader: {
            type: 'json'
        }
    },
    autoLoad: false
});

以下是我的WindowsA.js中网格的代码:

{
                    xtype: 'gridpanel',
                    id:'egresosGridFijos',
                    store: store_grid_egresos_fijos,
                    features :{ftype:'summary'},
                    x: 10,
                    y: 50,
                    height: 310,
                    maxHeight: 310,
                    width: 350,
                    title: 'Gastos Fijos',
                    columns: [
                        {
                            xtype: 'gridcolumn',
                            width: 44,
                            dataIndex: 'concepto_egreso.id',
                            text: 'ID'
                        },
                        {
                            xtype: 'gridcolumn',
                            width: 219,
                            dataIndex: 'concepto_egreso.nombre',
                            text: 'Concepto'
                        },
                        {
                            xtype: 'numbercolumn',
                            width: 78,
                            text: 'Monto',
                            dataIndex: 'monto',
                            summaryType: 'sum',
                            summaryRenderer:   function change(val){
                                total_fijos =  val
                                return '<span style="color:green;">' + val + '</span>';
                            }

                        }
                    ]
}

以下是我尝试在WindowsA.js中更新网格上的商店的代码(此代码在WindowsB.js中)

   {
                    xtype: 'button',
                    id:'btn_registrar_obj_egreso',
                    x: 785,
                    y: 370,
                    width: 105,
                    glyph: 20,
                    cls: 'my-button',
                    scale: 'medium',
                    text: 'Registrar',
                    icon:'/images/grabar.png',
                    handler: function(){

                        Ext.Ajax.request({
                            url: '/egreso/registrar',
                            method: 'GET',
                            params: {
                                condominios_id: 01,
                                concepto_egreso_id: Ext.getCmp('txt_id').getValue(),
                                fecha : Ext.getCmp('dt_fecha').getValue(),
                            },
                            success: function( resultado, request ) {
                                datos=Ext.JSON.decode(resultado.responseText);

                                if (datos.success) {
                                    var mes = Ext.getCmp('txt_mes').getValue()
                                    var year = Ext.getCmp('txt_year').getValue()
                                    var fecha = year+'-'+mes+'-'+'05'
                                    Ext.getCmp('dt_fecha_consulta').setValue(fecha)

                                    store_grid_egresos_fijos.load({
                                        params : {
                                            fecha : fecha,
                                            tipo:'fijo'
                                        },
                                        autoLoad: true
                                    });

                                    Ext.Msg.show({
                                        title:'SIACO',
                                        msg: datos.msg

                                    });


                                }
                                else {
                                    Ext.Msg.alert("Error", datos.msg );

                                }

                                ;
                            },
                            failure: function(response) {
                                alert("Error " + response.responseText);
                            }
                        })

                    }

                }

使用此代码我正在尝试更新网格...重新加载

store_grid_egresos_fijos.load({
                                            params : {
                                                fecha : fecha,
                                                tipo:'fijo'
                                            },
                                            autoLoad: true
                                        });

1 个答案:

答案 0 :(得分:0)

尝试以这种方式重新加载商店

store_grid_egresos_fijos.baseParams.fecha = fecha;
store_grid_egresos_fijos.baseParams.tipo = 'fijo';
store_grid_egresos_fijos.reload();