Foro

[Solucionado]Problema al cargar valores en combos

0
Hola amigos tengo la siguiente situación: Mi aplicación tiene una grid que cuando intento editar una de sus filas en un formulario, sucede que cuando la ventana contenedora del formulario se muestra por primera vez en los combos que aparecen en ella se muestran los ID de los valores que deberían ir y si cierro la ventana y selecciono otra fila o inclusive la misma y doy editar otra vez ahora si me muestra en los combos los valores, les dejor esta sección del código a ver si alguien sabe que sucede pues ya he probado unas cuantas variantes y nada.
function Modificar(){
        var mstoreRaza= new Ext.data.JsonStore({
		url:'index.php/Combos/getJSONRaza',
		root:'datos',
		totalProperty:'cant',
		fields: app.razaRecord,
		baseParams:{idRaza: 0}
	});
        var mstoreProvincia= new Ext.data.JsonStore({
		url:'index.php/Combos/getJSONProvincia',
		root:'datos',
		totalProperty:'cant',
		fields: app.provinciaRecord,
                baseParams:{idProv: 0}
	});
        var mstoreMunicipio= new Ext.data.JsonStore({
		url:'index.php/Combos/getJSONMunicipio',
		root:'datos',
		totalProperty:'cant',
		fields: app.municipioRecord,
                baseParams:{idProv: 0}
	});
        var mRaza= new Ext.form.ComboBox({
            emptyText: 'Seleccione...',
            fieldLabel: 'Raza',
            store : mstoreRaza,
            displayField:'raza',
            triggerAction: 'all',
	    selectOnFocus:true,
             mode: 'local',
	    forceSelection:true,
	    allowBlank:false,
	    width: 110,
            valueField:'idRaza',
	    hiddenName:'idRaza',
            id: 'modraza'
        });
        var mProvincia= new Ext.form.ComboBox({
            emptyText: 'Seleccione...',
            fieldLabel: 'Provincia',
            store : mstoreProvincia,
            displayField:'provincia',
            mode: 'local',
            triggerAction: 'all',
	    selectOnFocus:true,
	    forceSelection:true,
	    allowBlank:false,
	    width: 120,
            valueField:'idProvincia',
	    hiddenName:'idProvincia',
            id: 'modprovincia',
            listeners: {
                'beforeselect': function(cb,rec,index){
                         mMunicipio.clearValue();
                         mMunicipio.store.load({params:{idProv: rec.get('idProvincia')}});
                },
                change: function(){cambio = 1;}
        }
        });
        var mMunicipio= new Ext.form.ComboBox({
            emptyText: 'Seleccione...',
            fieldLabel: 'Municipio',
            store : mstoreMunicipio,
            displayField:'municipio',
            triggerAction: 'all',
            mode: 'local',
            selectOnFocus:true,
            forceSelection:true,
            allowBlank:false,
            width: 120,
            valueField:'idMunicipio',
            hiddenName:'idMunicipio',
            id: 'modmunicipio',
            listeners: {
                change: function(){cambio = 1;}
            }
        });
            var mstoreSexo= new Ext.data.SimpleStore({
			fields:['idsexo','sexo'],
			data:[
                                ['0','Femenino'],
				['1','Masculino']
			]
		});
        var mSexo= new Ext.form.ComboBox({
            emptyText: 'Seleccione...',
            fieldLabel: 'Sexo',
            store : mstoreSexo,
            mode: 'local',
            displayField:'sexo',
            triggerAction: 'all',
	    selectOnFocus:true,
	    forceSelection:true,
	    allowBlank:false,
	    width: 100,
            valueField:'idsexo',
	    hiddenName:'idsexo',
            id: 'modsexo',
            listeners: {
                change: function(){cambio = 1;}
            }
        });
         var mnombre = new Ext.form.TextField({
                fieldLabel : 'Nombre(s)',
                name : 'nombre',
                id:'modnombre',
                allowBlank : false,
                maskRe:/^([a-zA-Z0-9áéíóúñüÑ,. ]+ ?[a-zA-Z0-9áéíóúñüÑ,. ]*)+$/,
                blankText : 'Este campo es obligatorio',
                listeners:{
                     change: function(){cambio = 1;}
                }
         });
         var mapellido1= new Ext.form.TextField({
                 fieldLabel : 'Primer Apellido',
                 name : 'apellido1',
                 width: 110,
                 id:'modapellido1',
                 allowBlank : false,
                 maskRe:/^([a-zA-Z0-9áéíóúñüÑ,. ]+ ?[a-zA-Z0-9áéíóúñüÑ,. ]*)+$/,
                 blankText : 'Este campo es obligatorio',
                 listeners:{
                      change: function(){cambio = 1;}
                 }
          });
          var mapellido2= new Ext.form.TextField({
                 fieldLabel : 'Segundo Apellido',
                 name : 'apellido2',
                 width: 110,
                 id:'modapellido2',
                 allowBlank : false,
                 maskRe:/^([a-zA-Z0-9áéíóúñüÑ,. ]+ ?[a-zA-Z0-9áéíóúñüÑ,. ]*)+$/,
                 blankText : 'Este campo es obligatorio',
                 listeners:{
                      change: function(){cambio = 1;}
                 }
          });
          var mhc= new Ext.form.TextField({
                 fieldLabel : 'Historía Clínica',
                 name : 'historiaC',
                 id:'modhc',
                 allowBlank : false,
                 blankText : 'Este campo es obligatorio',
                 listeners:{
                       change: function(){cambio = 1;}
                 }
          });
          var mci= new Ext.form.TextField({
                 fieldLabel : 'CI',
                 name : 'ci',
                 id : 'modci',                
                 width: 110,
                 allowBlank : false,
                 maxLength : 11,
                 maskRe : /^[0-9]+$/,
                 minLength : 11,
                 blankText : 'Este campo es obligatorio',                
                 listeners:{
                       change: function(){cambio = 1;}
                 }
          });
          var medad= new Ext.form.TextField({
                  fieldLabel : 'Edad',
                  name : 'edad',
                  id:'modedad',
                  width : 70,
                  allowBlank : false,
                  maskRe : /^[0-9]+$/,
                  blankText : 'Este campo es obligatorio',
                  listeners:{
                        change: function(){cambio = 1;}
                  }
            });
            var mtelf= new Ext.form.TextField({
                   fieldLabel : 'Teléfono',
                   name : 'telef',
                   id:'modtelf',
                   width: 110,
                   maskRe : /^[0-9]+$/,
                   blankText : 'Este campo es obligatorio',
                   listeners:{
                        change: function(){cambio = 1;}
                   }
           });
           var mcorreo= new Ext.form.TextField({
                  fieldLabel : 'Correo',
                  name : 'email',
                  id:'modcorreo',
                  vtype:'email',
                  width: 110,
                  listeners:{
                        change: function(){cambio = 1;}
                  }
           });
           var madress= new Ext.form.TextArea({
                  id:'modadress',
                  name: 'direccion',
                  height: 100,
                  fieldLabel:'Dirección',
                  listeners:{
                        change: function(){cambio = 1;}
                  }
           });
           
           if(!ventanaMod){
                  mstoreMunicipio.load();
                  mstoreProvincia.load();
                  mstoreRaza.load();
                  frmModPaciente= new Ext.FormPanel({
                          border:false,
                          id: 'frmModPaciente',
                          labelAlign : 'top',
                          frame: true,
                          items:[{
                                 layout : 'column',
                                 items:[{
                                             columnWidth : .35,
                                             layout : 'form',
                                             items:[mnombre,mhc,mSexo,mProvincia]
                                            },{
                                             columnWidth : .35,
                                             layout : 'form',
                                             items:[mapellido1,mci,mRaza,mMunicipio]
                                            },{
                                             columnWidth : .30,
                                             layout : 'form',
                                             items:[mapellido2,medad,mtelf,mcorreo]
                                      }]
                                 },{
                                  layout: 'fit',
                                  title:'Dirección',
                                  items:[madress]
                             }]
                   });
                  
                   ventanaMod= new Ext.Window({
                            title:'Modificar Paciente',
                            width: 500,
                            modal : true,
                            height: 405,
                            closable: false,
                            closeAction: 'hide',
                            resizable:false,
                            items:[frmModPaciente],
                            buttonAlign : 'right',
                            buttons : [{
                                    text : 'Aceptar',
                                    icon:'add',
                                    iconCls:'add',
                                    handler : function() {
                                        if (frmModPaciente.getForm().isValid()) {
                                            frmModPaciente.form.submit({
                                                url:'index.php/Paciente/updatePaciente',
                                                params:{
                                                    idPaciente: sm.getSelected().get('idPaciente')
                                                },
                                                waitTitle: "Actualizando Datos",
                                                waitMsg : "Espere un momento por favor......",
                                                failure: function(sender,action){
                                                    Ext.utiles.msg('Error', 'No se ha podido actualizar <br> Vuelva a Intentarlo');
                                                },
                                                success: function(sender,action) {
                                                    Ext.utiles.msg('Mensaje del Sistema', 'Paciente Actualizado');
                                                    frmModPaciente.form.reset();
                                                    frmModPaciente.reload();
                                                }
                                            });
                                        }
                                    }
                                }, {
                                    text : 'Cerrar',
                                    icon:'remove',
                                    iconCls:'remove',
                                    handler : function() {
                                        frmModPaciente.form.reset();
                                        sm.clearSelections();
                                        CambiarEstadoBotones();
                                        ventanaMod.hide();                                    }
                                }]
                        });
                        ventanaMod.show();                        
                        LLenarForm();
           }else{
                ventanaMod.show();
                LLenarForm();
                
           }
    }
    function LLenarForm(){
      frmModPaciente.findById('modraza').setValue(storePacientes.data.items[datos].get('idRaza'));
      frmModPaciente.findById('modprovincia').setValue(storePacientes.data.items[datos].get('idProvincia'));
      frmModPaciente.findById('modmunicipio').setValue(storePacientes.data.items[datos].get('idMunicipio'));
      frmModPaciente.findById('modsexo').setValue(storePacientes.data.items[datos].get('sexo'));
      frmModPaciente.findById('modnombre').setValue(storePacientes.data.items[datos].get('nombre'));
      frmModPaciente.findById('modapellido1').setValue(storePacientes.data.items[datos].get('apellido1'));
      frmModPaciente.findById('modapellido2').setValue(storePacientes.data.items[datos].get('apellido2'));
      frmModPaciente.findById('modhc').setValue(storePacientes.data.items[datos].get('historiaC'));
      frmModPaciente.findById('modci').setValue(storePacientes.data.items[datos].get('ci'));
      frmModPaciente.findById('modedad').setValue(storePacientes.data.items[datos].get('edad'));
      frmModPaciente.findById('modtelf').setValue(storePacientes.data.items[datos].get('telef'));
      frmModPaciente.findById('modcorreo').setValue(storePacientes.data.items[datos].get('email'));
      frmModPaciente.findById('modadress').setValue(storePacientes.data.items[datos].get('direccion'));
    }
0
[color=#400040]Hola: <!-- s;) --><!-- s;) --> Ps mira te cuento rapido;;; cierto dia tuve el mismo problema con mis combos; en mi caso eran combos dependientes;;; y resulto q no estaba manejando un name ni un hiddenValue;;; claro estos deben de corresponder al id q traes desde tu store para cargar la informacion en tu combo;;; Yo creo q deberias intentar agregando el name; hiddenValue; Espero te sirva de algo;;; Bueno en mi caso funciono::: <!-- s:mrgreen: --><!-- s:mrgreen: --> Saludos[/color]
0
al final resolví creando los combos por separados y con ids distintos y ya todo me funciona perfectamente

¿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.