现在的需求是打开一个面板,里面有一个combo,内容是从后台传来的多个对象的列表,一个是属性是实验室名称,另一个属性是实验室编号,在现实的时候displayField的显示内容为"实验室名称+编号",在网上搜了很多例子都不行,于是就开始从API中找JsonStore的各种方法,发现一个load事件,就是JsonStore加载完所有的数据之后触发的事件.
为该事件添加处罚函数的时候有三个参数
Store this,
Ext.data.Record records,
Object
options
Store代表了该store本身,
records代表了传入的所有数据,此处是一个数组,即record[]
options是load的时候传的参数,一般情况下用不到,
合并字段内容的方法如下
store : new Ext.data.JsonStore({ autoLoad : true, url : 'json/lab_getAllLabs.action', fields : ['id', 'name','no'], root : 'labs', listeners:{ load:function(store,records){ for(var i=0;i<records.length;i++){ records[i].set('name',records[i].get('name')+records[i].get('no')); } } } }),
??
1 楼
玉狻猊
2011-08-18
楼主的写法对我很有帮助,非常感谢。