extjs的EditorGridPanel中的ComboBox列中显示值的问题 ext editorgridpanel

extjs的EditorGridPanel中的ComboBox列中显示值的问题

博客分类: javascript

EXTAjax

在项目中使用了extjs的editorgridpanel,但是其中的combobox在选择了相应的选项后,grid中显示的是值域(valueField)的值,而非意愿中的显示域(displayField)的值,经过一些搜索和尝试后找到了一个比较好的解决方法——在定义带combobox的列时配置其renderer的属性。

Extjs代码

varassistItemStore=newExt.data.JsonStore({

url:'assist.do',

baseParams:{

m:'listAllLike',
extjs的EditorGridPanel中的ComboBox列中显示值的问题 ext editorgridpanel

shopid:shopid,

subid:subid

},

root:'items',

fields:[{

name:'aux_name',

mapping:'assistName'

},{

name:'aux_id',

mapping:'assistid'

}]

});

Extjs代码

{

header:'项目名称',

width:100,

dataIndex:'aux_id',

editor:newExt.form.ComboBox({

autoLoad:true,

triggerAction:'all',

selectOnFocus:true,

allowBlank:true,

editable:true,

displayField:'aux_name',

valueField:'aux_id',

minChars:1,

queryParam:'subname',

typeAhead:true,

store:assistItemStore

}),

renderer:function(value,metadata,record){

varindex=assistItemStore.find('aux_id',value);

if(index!=-1){

returnassistItemStore.getAt(index).data.aux_name;

}

returnvalue;

}

这样写之后,选择之后grid中显示了displayField的值,但最初从数据库提取的值仍然显示valueField的值,原因是store的数据是远程取得的,在grid最初的render中还无法从store中查到相对应的displayField的值,于是打算用ajax异步取得displayField的值,但是异步的线程不造成阻塞,无法保证返回值之前能取得相应的数据.后来想出另一个方法,为grid增加一个隐藏列,存放对应的值,在最初提取数据时能够从中获取要显示的值.

Extjs代码

{

header:'',

width:10,

dataIndex:'aux_name',

hidden:true

},{

header:'项目名称',

width:100,

dataIndex:'aux_id',

editor:newExt.form.ComboBox({

autoLoad:true,

triggerAction:'all',

selectOnFocus:true,

allowBlank:true,

editable:true,

displayField:'aux_name',

valueField:'aux_id',

minChars:1,

queryParam:'subname',

typeAhead:true,

store:assistItemStore

}),

renderer:function(value,metadata,record){

varindex=assistItemStore.find('aux_id',value);

if(index!=-1){

returnassistItemStore.getAt(index).data.aux_name;

}

returnrecord.get('aux_name');

}

总感觉这个编辑框太小了,用着很不舒服,希望改进.

  

爱华网本文地址 » http://www.aihuau.com/a/25101013/149412.html

更多阅读

怎样解决网页中无法播放视频的问题 精 网页视频播放解决方案

相信很多人会突然发现,某一天的某个时刻自己的电脑看不了视频了,明明以前可以的,这让宅男宅女们非常郁闷,本教材详细搜集了视频出问题的各种解决办法,希望能帮你解决问题。怎样解决网页中无法播放视频的问题 精——工具/原料能够上网的电

关于FMEA中几个典型问题的答复 物业常见问题答复

在FMEA的培训中,有几个典型的问题是学员们经常感到困惑的,在此基于我自己的理解给出答复,供同仁们讨论参考。1.某个失效模式引起后果严重度会不一样,如何处置?典型的例子如:一个泵体铸件,有一种失效模式是“出现气

转载 辨伪影视小说中关于雍正蒸人、炸人的问题 瓷器辨伪

我真的很想对那些乱评乱写雍正的人说评价历史人物也同样要个客观公正同样是要凭良心负责任的励精图治一世不容易雍正狠是狠但雍正那是对官狠几时见他对百姓狠过?看看雍正的悦心集就能知道他为人处世的准则了个人认为二月河笔下的雍正

设置教学目标中存在的问题 和差问题教学目标

设置教学目标中存在的问题作为教师的我们,在经过多年的实践教学之后,似乎对教学目标的设置都有这样的一些困惑,曾经遇到过这样的一些问题和烦恼,比如:1.目标设置太宽泛、笼统,有的每节课的目标实际上属于整个单元的目标,从而这一课的目标

声明:《extjs的EditorGridPanel中的ComboBox列中显示值的问题 ext editorgridpanel》为网友零温度分享!如侵犯到您的合法权益请联系我们删除