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比起来还是那么的山寨!’
看代码:
可以看这里 [url]http://www.sencha.com/forum/showthread.php?67442-ComboBox-display-displayField-instead-of-valueField[/url]
看代码:
//这是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]