欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-13 22:34:33
...
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'
}
}



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