Вопрос

I have a problem when I'm trying to refresh the store of a grid inside a Extjs WindowsA from a Extjs WindowsB.. here's the code

There's a grid inside of my WindowsA with this store

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

and here is the code for the grid inside my 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>';
                            }

                        }
                    ]
}

and here is the code where I try to update the store on the grid within the WindowsA.js (This code is inside 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);
                            }
                        })

                    }

                }

With this code I'm trying to update the grid... reloading

store_grid_egresos_fijos.load({
                                            params : {
                                                fecha : fecha,
                                                tipo:'fijo'
                                            },
                                            autoLoad: true
                                        });
Это было полезно?

Решение

Try reloading your store this way

store_grid_egresos_fijos.baseParams.fecha = fecha;
store_grid_egresos_fijos.baseParams.tipo = 'fijo';
store_grid_egresos_fijos.reload();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top