Quizá soy yo no he sido capaz de encontrar la solución correcta pero me parece que una cosa tan simple como tener una opción seleccionada por defecto en un desplegable, no debería ser una tarea tan y tan complicada.
Aquí tenéis el código para poder tener una opción seleccionada por defecto en un desplegable con EXTJS
{
xtype : 'combo',
fieldLabel : 'Sexo',
hiddenName : 'sexo',
name : 'sexo',
mode : 'local',
width : 250,
displayField : 'name',
valueField : 'id',
store : new Ext.data.SimpleStore({
id : 0 ,
fields : [ 'id', 'name' ],
data : [
[1, 'Hombre'],
[2, 'Mujer']
]
}),
listeners : {
beforerender: function(combo){
combo.setValue(1);// El ID de la opción por defecto
}
},
},
Si bien es cierto que podemos ponerle un valor por defecto con la propiedad value, Nos pone como valor el nombre es decir ‘Hombre’ o ‘Mujer’ y no el ID ’1′ o ’2′.
Lo ‘único‘ que hay que hacer entonces es utilizar la propiedad ‘hiddenName‘ y poner en el listener ‘beforerender‘, que se ejecuta una vez se ha cargado el store, una función que nos cargue como valor el ID que queramos.
Me ha costado encontrar como hacerlo, espero que no perdáis tanto rato como yo, si tenéis dudas preguntad