Como leer la informacion de un Ext.data.JsonStore
Saludos .......
He creado el siguiente JsonStore que me devuelve un solo registro:
var storeVerDatosOP = new Ext.data.JsonStore({
id: 'storeVerDatosOP',
url: 'modules/produccion/op/op.php',
root: 'data',
fields: [
{
name: 'id'
},
{
name: 'id_cotizacion'
},
{
name: 'fechaApertura'
},
{
name: 'fechaEntrega'
},
{
name: 'estado'
},
{
name: 'idUsuarioCreacion'
},
{
name: 'notas'
},
{
name: 'observaciones'
}
]
});
storeVerDatosOP.load({
url: 'modules/produccion/op/op.php',
method: 'POST',
params: {
action : 'verOrdenProduccion',
id_orden_produccion : id_orden_produccion
}
});
y necesito leer la informacion que me devolveria el campo 'fechaEntrega' y ponerlo en una variable, en los ejemplos que he visto es necesario que este store este asociado a un grid, pero me gustaria saber si hay forma de leerlo sin tener que crear el grid, como lo haria ????
Gracias .......
no necesitas que este asociado a nada, puedes configurarlo para que se cargue automáticamente al cargar la pagina, con la propiedad autoLoad: true o puedes usar algo otro evento para cargar tu store, te recomiendo que le configures la propiedad storeId por ejemplo storeId: 'myStore' para poder accesarlo mas cómodamente de la sgte manera:
var st = Ext.StoreMgr.lookup('myStore');
st.load();
y poder leer los datos por medio de getAt(), así:
var registro = st.getAt(0);
como tienes un solo registro este tendrá index 0
y podrás accesar al dato de la sgte manera:
var myvariable = registro.get('fechaEntrega');
puedes usar un listener al evento 'load' del store para que después de que se carguen los datos recién se asignen a la variable porque usualmente el error más común es que trates de asignar el valor cuando el store aun no posee datos porque debes recordar que el store es AJAX por lo tanto no está sincronizado con la interpretación del código.
esto puedes hacerlo de 2 formas:
st.on('load', function(st, rec){
var myvariable = rec[0].get('fechaEntrega');//de esta parte no estoy muy seguro porque estoy escribiendo esto de memoria, pero bastará con que le hagas un console.log(rec); para que veas como accesar a los datos
});
ó
st.load({
callback: function(rec,o,s){
//donde rec contiene los registros
var myvariable = rec[0].get('fechaEntrega');
}
});
espero esto te sirva de orientación, suerte
(^_^)
¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook
Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.