(1)var toflowStore = msForm.getForm().findField('toflow').store; //根据名称得到multiselect对象的store对象; (2)创建一个Ext.data.Record对象,这正在我想了好久的增加方法,也怪自己太笨了: 代码如下: var record = new Object(); record.value = "2"; record.text = "3"; var records = new Ext.data.Record(record);
(3) 将创建的Ext.data.Record对象加至multiselect的store对象中: toflowStore.add(record1); 通过以上三步就可以为列表multisleect动态增加列表项了,提醒一下删除某项可以通过remove()/removeAll()方法,具体的使用方法可以通过示例代码的ItemSelector.js中查到. 通过以上分析后,大致可以简单估计到multiselect的创建规则,在store中有一个属性fields: ['value','text'],则在创建时,系统会通过循环的方式将属性data:[[123,123]]中的内容创建为object对象,然后写到时它的store对象中,类似下面的代码: 代码如下: var item = [],itemObj,record; for(var i = 0; i< this.data.length;i++){ item = this.data[i]; itemObj = new Object(); itemObj.value = item[0]; itemObj.text = item[1]; record = new Ext.data.Record(itemObj); this.store.add(record); }