Ext.grid.EditorGridPanel 中combo的显示异常

Ext.grid.EditorGridPanel在项目中用到Ext的这个组件,但发现在这个组件中添加editor的类型为combo的时候有点小问题,如果单纯的从combo来讲设置valueField和displayField值为对应的字段名就OK了,但在Ext.grid.EditorGridPanel的editor中,怎么设置最后显示的都是valueField,我百度了一下,很多同学也遇到了这样的问题,但看到很多的解决方法都不行,也不知道是EXTJS的版本导致的,还是大家也文章的时候根本没测试!最后还是得求google大神了,一用到这些东西的时候,我也不得不叹一口气:‘百度和google比起来还是那么的山寨!’

看代码:

//这是combo是store部分
var sexStore =new Ext.data.ArrayStore({
	fields: ['valField','displayText'],
	data: [['0','男'],['1','女']]//配置文件中的值
     }),

//下面是应用的组件代码,
{
	header:"性 别",
	dataIndex:'Sex',
	width:50,
        //核心的东西在这里,记得看这里面的指端要和editor中的字段对应,
        //我觉得这个问题是Extjs的一个BUG,单独用没问题,
	renderer:function(value, metaData, record, rowIndex, colIndex, store) {
		var idx = sexStore.find("valField", value);
		return (idx != "-1") ? sexStore.getAt(idx).data.displayText : '';
	},
	editor:{
		xtype: 'combo',
		typeAhead: true,
		triggerAction: 'all',
		lazyRender:true,
		mode: 'local',
		allowBlank:false,
		forceSelection:true,
		editable:false,
		store: sexStore ,
		valueField: 'valField',
		displayField: 'displayText'
	}
}

可以看这里http://www.sencha.com/forum/showthread.php?67442-ComboBox-display-displayField-instead-of-valueField

相关推荐