Ext下拉框我们通常定义displayField : 'name'来做显示值,但是现在我们的显示值是一个通过NAME+CODE的组合,首先想到的是在后台拼接。
但是后台方法是公用的,不能随便改。所以只有在前台进行修改。
{
fieldLabel:'目标货架',
xtype:'combo',
editable : false,
hiddenName:'displacement.startGoodsSpace.id',
triggerAction : 'all',
valueField : 'id',
displayField : 'name',
mode : 'remote',
id:'mbhj',
blankText : '请先选择物料',
store : new Ext.data.Store({
url : '${base}/info/getGoodsSpaceListByMaterialId.do',
reader : new Ext.data.JsonReader({
root : 'list'
},[
{name : 'id',type : 'string'},
{name : 'name',type : 'string',convert:function(v,rec){//convert:由Reader提供的用于转换值的函数,将值变为Record下面的对象。它会送入以下的参数:v 数据值,rec rec
return rec.code+" : "+v;//这个函数就是关键函数,如果你不好理解,把他想做Grid ColumnModel 的renderer吧。效果一样。只是这个是在获取数据的时候进行拼接
}},
{name : 'code',type:'string'}
])
})
}
浙公网安备 33010602011771号