[SOLUCIONADO] Cargar datos en Formulario
Hola a todos, alquien me podria hechar una manito con este codigo,
el problema esta en que no me cargan los datos en el form :s
El Json es :
{"success":true,"rows":{"id":"1","userdb_user_first_name":"mis nombres","userdb_user_last_name":"mis apellidos","userdb_emailaddress":"demo2demo.com","sTypeClient":"1","userdb_phone":"1234567","userdb_mobile":"999999999","userdb_fax":"12345678","userdb_web":"cualquier cosa","homepage":"http://notengo.je"}}
Ext.ns("Ext.ux.clients");
Ext.ux.clients.Detail = function(config){
Ext.apply(this, config);
/****************************
* El store para el combobox *
****************************/
var store_c= new Ext.data.JsonStore({
url:BASE_URL + 'clients/get_typeclient',
method: 'put',
root: 'data_c',
fields: [
{name:'id_typec', type: 'string'},
{name:'name_c', type: 'string'},
]
});
/****************
* El combobox *
***************/
this.cTypeClient = new Ext.form.ComboBox({
fieldLabel:'Tipo Cliente',
name:'sTypeClient',
forceSelection: true,
allowBlank: false,
store: store_c,
emptyText:'Seleccione el tipo de cliente...',
triggerAction: 'all',
editable:false,
displayField:'name_c',
valueField: 'id_typec',
width: 190
});
//store_c.load({params:{start:0, limit:20}});
clientForm = new Ext.FormPanel({
url: BASE_URL + 'clients/update_client/'+ this.clientId,
title: this.clientName,
iconCls: 'silk-user',
frame: true,
labelAlign: 'left',
autoHeight: true,
border: false,
waitMsgTarget : true,
defaultType: 'textfield',
items:[
{fieldLabel:'Nombres',name:'userdb_user_first_name', allowBlank:false, width:190},
{fieldLabel:'Apellidos',name:'userdb_user_last_name', allowBlank:false, width:190},
{fieldLabel:'E-mail',name:'userdb_emailaddress', allowBlank:false, vtype: 'email', width:190},
this.cTypeClient,
{xtype:'numberfield',fieldLabel:'Telefono',name:'userdb_phone', width:190},
{xtype:'numberfield',fieldLabel:'Celular',name:'userdb_mobile', width:190},
{xtype:'numberfield',fieldLabel:'Fax',name:'userdb_fax', width:190},
{fieldLabel:'Web',name:'userdb_web', width:190},
{xtype:'textarea',fieldLabel:'Comentario',name:'homepage', width:190},
],
buttons: [{
text: 'Actualizar',
handler: function(){
console.log('Hiciste click en Actualizar');
}
},{
text: 'Eliminar Cliente',
handler: function(){
alert('seguro que desea eliminar el cliente?');
console.log('Hiciste click en Eliminar');
}
}]
});
/**********************************
* Esta parte es para el westpanel *
**********************************/
panelWest = new Ext.Panel({
region: 'west',
title: 'Seguimiento',
layout: 'accordion',
minWidth: 10,
width: 200,
split: true,
collapsible: true,
animate: true,
border: false,
autoScroll:true,
closable:true,
items:[{
title: 'Correos Enviados',
html: 'Lista de Correos Enviados'
},{
title: 'Correos Recibidos',
html: 'Lista de Correos Recibidos'
}]
});
/************************************
* Esta parte es para el centerpanel *
************************************/
panelCenter = new Ext.TabPanel({
region: 'center',
border: true,
frame: true,
//xtype: 'tabpanel',
activeTab: 0,
tabPosition: 'bottom',
items: [{
title: 'Cliente Detalles',
items:[clientForm]
},{
title: 'Requerimientos',
html: 'Los pedidos realizados por el cliente.'
}]
});
/**********************************
* llamamos superclass constructor *
**********************************/
Ext.ux.clients.Detail.superclass.constructor.call(this, {
clientId: 'none',
clientName: 'none',
border: false,
autoScroll: true,
layout: 'border',
url: 'none',
items:[panelWest,panelCenter]
});
this.on({
afterlayout:{scope:this, single:true, fn:function() {
clientForm.getForm().load({params:{id:id}});
}}
});
};
Ext.extend(Ext.ux.clients.Detail, Ext.Panel, {
});
Esto es llamado :
var tabEmail = new Ext.ux.clients.Detail(
{
id: node.text + node.id,
clientId: node.id,
clientName: node.text,
title: node.text,
autoScroll:true,
closable:true
});
this.content.add(tabEmail);
tabEmail.show();
Haber si alguien me puede decir en que estoy fallando.
Gracias.
Hola disculpa que recien responda pero no me he conectado en buen tiempo por motivos personales y lo peor es que no podria brindarte ayuda (por el momento) debido a que no trabajo con symfony, estoy muy currado con CI, siento no poder ser de ayuda.
hola hermano...soy nuevo por aqui, pero necesito ayuda....estoy entrando en el mundo de Ext JS, per ya tengo un proyecto en Symfony ver 1.4.9 muy grande y quiero integrarlo con Ext, he buscado donde quiera y no he encontrado nada al respecto, ya yo he logrado integrar os archivos .js de Ext en Symfony y me funciona perfectamente, lo que necesito es que me ayuden a como cargar datos desde my base de datos que es en mysql a un grid siguiendo los patrones de symfony y guardar datos desde un formulario ext desde symfony, o sea no hacerlo a palo, espero me entiendan y por favor necesito ayuda....llevo casi un mes buscando y no doy con nada que me pueda ayudar......de ante mano les doy las gracias...Saludos LUIS
entonces se puede cambiar ese campo, siempre tiene que ser data?
bueno ahora no lo puedo probar debido a que me encuentro de viaje celebrando mi cumple, el dia de hoy jejeje ya el lunes pruebo lo que me dices y les cuento como me fue, gracias crysfel y un Feliz ANIO NUEVO a ti y a todos.
La razón por que no te está cargando la información en el formulario es porque el método "load" busca la propiedad "data" y tu estas regresando "rows".
Cambia el nombre de la propiedad por "data" y te debería funcionar sin problema.
{"success":true,"data":{"id":"1","userdb_user_first_name":"mis nombres","userdb_user_last_name":"mis apellidos","userdb_emailaddress":"demo2demo.com","sTypeClient":"1","userdb_phone":"1234567","userdb_mobile":"999999999","userdb_fax":"12345678","userdb_web":"cualquier cosa","homepage":"http://notengo.je"}}
Saludos
¿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.