导航

Ext combo 下拉数据拼接

Posted on 2013-05-31 18:01  小强有毒  阅读(263)  评论(0)    收藏  举报

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'}
    ])
  })
}