buenos dias compañeros, estoy realizando un Ajax.request el cual me devuelve una lista, necesito leer esos datos y presentarlos en un grid.
este es el codigo que estoy implementando y no logro crear un store con esos datos para enlazarlo al gridpanel
var data = {};
// parametros
var params = { 'asignacion': Ext.getCmp("asignacion").getValue(),
'cedula': Ext.getCmp("cedula").getValue(),
'id_capa': Ext.getCmp("id_capa").getValue()
};
var conf = {
url: 'servicio.svc/lista_asignaciones_filtro',
params: params
};
Ext.Ajax.request({
url: conf.url,
method: "POST",
headers: { "Content-Type": "application/json" },
params: Ext.encode(conf.params),
success: function (response) {
data = Ext.decode(response.responseText);
var fields = Ext.data.Record.create([
{ name: 'id_asignacion' },
{ name: 'cap_nombre' },
{ name: 'ciu_nombre' },
{ name: 'asi_custcode' },
{ name: 'asi_referenciapago' },
{ name: 'asi_identificacion' },
{ name: 'asi_nombre' },
{ name: 'asi_celular' },
{ name: 'asi_fechaapertura' },
{ name: 'asi_saldoinicial' },
{ name: 'asi_diasmorainicial' }
]);
var reader = new Ext.data.JsonReader({
totalProperty: "total",
root: "d",
idProperty: "id_asignacion"},
fields
);
app.asig_cartera_asignaciones.store_grid = new Ext.data.Store({
data: data,
reader: reader
});
app.asig_cartera_asignaciones.store_grid.load();
},
failure: function (response) {
data = Ext.decode(response.responseText);
alert(data);
alert("hay error");
}
});
// presento lista
app.asig_cartera_asignaciones.get_grid();
la variable data obtiene la lista devuelta por el servidor en formato json lo que necesito saber es como construir un store para enlazarlo a un gridpanel y presentar los datos ya que lo que implemento no me funciona o que forma puedo leer la lista de la variable data y presentarlos en un gridpanel.
les agradezco la ayuda que me puedan prestar...
leer datos de una variable json
3 mensajes
• Página 1 de 1
|
El problema que veo, sino me equivoco, es que quieres cargar tu store con datos que aun no existen, recuerda que el ajax es asincronico por lo que cuando llegas a:
app.asig_cartera_asignaciones.store_grid = new Ext.data.Store({ data: data,<---aqui aun no existen los valores de data reader: reader }); para enviar parámetros al lado del servidor al momento de cargar el store puedes usar tanto:
o
ahora bien, si en realidad necesitas crear el store según los datos que regresas del JSON, es decir no sabes como se van a llamar los campos de tu store, que NO es lo mismo que cargar los datos del store con valores desconocidos, entonces toda la creación del store debe estar en el success de tu Ajax, pero a la vez tu Ajax debe estar en el listener al 'afterrender' de tu pagina porque tomas valores de componentes que aun no existen, como son:
estos componentes no existen al momento de que la pagina interpreta esas lineas o me equivoco? espero haberte ayudado (^_^) |
|
disculpe compañero esta blog es con relación al blog anterior al cual ya me diste una base para la solución y ya se encuentra solucionado, de todas formas gracias... ya lo marco como solucionado, para los compañeros la solución a este se encuentra en el blog enviar resultado Ext.Ajax.Request a GridPanel |
|
3 mensajes
• Página 1 de 1

