Foro

Mapeado complejo de un campo para un JsonStore....

0
Hola a todos: Ya estoy aquí otra vez con otra duda diferente. La cuestión es que quiero que en un comboBox que se alimenta de un JsonStore, quiero que el displayField esté compuesto de una cadena formada por dos valores. El código que he creado es el siguiente:
	this.dsCall = new Ext.data.JsonStore({
	   url: './libphp/proxyCatastro.php',
	   root: 'root',
	   method: 'POST',
	   fields: [{name:'ncalle',mapping:'dir.nv'+' '+'dir.tv'}, {name:'tcalle',mapping:'dir.tv'} ]
	});
La cuestión es que en el combo me aparezca la combinación de dos cadenas: el nombre de la calle 'dir.nv' y el tipo de calle 'dir.tv' separados por un espácio. He intentado estas dos maneras, pero ninguna funciona: {name:'ncalle',mapping:'dir.nv'+' '+'dir.tv'} {name:'ncalle',mapping:'dir.nv\'+\' \'+\'dir.tv'} Muchas grácias de antemano. Y enhorabuena por el nuevo artículo sobre barras de estado. Salud.
0
Y porque no las juntas en el archivo php ?? en el proxyCatastro.php:
<?php
$variable=$variable1.",".$variable2;
echo '[["nombre","'.$variable.'"]]'
?>
y en el archivo js:
 store = new Ext.data.JsonStore({
      url: './libphp/proxyCatastro.php',
      root: 'root',
      method: 'POST',
      fields: ['name','mapping']
   });
combo = new Ext.form.ComboBox({
		hiddenName: 'nombrecualquiera',
		id:'idcualquiera',
		name:'idcualquiera',
		displayField:'mapping',
		valueField: 'name',
		editable:false,
	    forceSelection: true,
	    mode: 'local',		
	    triggerAction: 'all',
	    selectOnFocus:true,
	    store: store 
	     
	});
0
una opcion es la que te dice pasblin, y es la mas sencilla de implementar ya que te encargas que desde el servidor ya te envie tu texto formateado, la otra es que le podrias asginar un template a tu combo entonces con eso el tempalte se encarga de darle formato a tu combo
store:new Ext.data.JsonStore({
					url:Manduks.Url,
					root: 'data',
					baseParams:{cmd:'select',className:'Usuario'},
					totalProperty: 'numFilas',
					fields: [
						{name:'id', type: 'string'},
						{name:'nombre', type: 'string'},
						{name:'foto', type: 'string'},
						{name:'txt_direccion', type: 'string'},
						{name:'txt_tels', type: 'string'}
						]
				});
combo = new Ext.form.ComboBox({
                width:230,
		displayField:'id',
                valueField:'id',
		typeAhead: true,		
		mode: 'local',
		triggerAction: 'all',
		emptyText:'Usuario...',
		selectOnFocus:true,		
		editable :true,					
		forceSelection :true,
		itemSelector: 'div.search-item',
		tpl: new Ext.XTemplate('<tpl for="."><div class="search-item"><div    class="udmarco"><div class="ud_mfoto"><img src="fotos/{foto}" class="ud_ffoto">'+'<img src="img/user.png" class="udicono"></div><div class="ud_mdetalle"><div class="ud_ndetalle">{nombre}</div>'+
'<div class="ud_ddetalle">{txt_direccion}</div><div class="ud_ttdetalle"><img src="img/telefono.png" class="udfon">'+ '<div class="ud_tdetalle">{txt_tels}</div></div></div></div></div></tpl>')
});
0
Muchas grácias a los dos, Intentaré la segunda opciónque puede resultar más vistosa. Gracias de nuevo.

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