天天看点

Ext combobox store add

1、静态

  1. var staticComboBox = new Ext.form.ComboBox({  
  2.  fieldLabel:'回访结果',  
  3.  name:'result',  
  4.  hiddenName:'result',  
  5.  anchor:'100%',  
  6.  editable:false,  
  7.  readOnly:true,  
  8.  mode:'local',  
  9.  triggerAction:'all',  
  10.  store:new Ext.data.SimpleStore({  
  11.   fields:['code','desc'],   
  12.   data:[  
  13.      ['全部','全部'],  
  14.      ['回访成功','回访成功'],  
  15.      ['无人','无人'],  
  16.      ['错号','错号'],  
  17.      ['停机','停机']  
  18.   ],  
  19.   autoLoad:true  
  20.  }),  
  21.  value:'全部',  
  22.  valueField:'code',  
  23.  displayField:'desc'  
  24. });  

2、动态:

  1. //前台     
  2. var dynamicComboBox = new Ext.form.ComboBox({     
  3.     fieldLabel:'回访人员',     
  4.     hiddenName:'operator',     
  5.     name: 'operator',     
  6.     mode: 'remote',     
  7.     triggerAction:'all',     
  8.     anchor:'100%',     
  9.     editable : false,     
  10.     readOnly:true,     
  11.     store:     
  12.         new Ext.data.Store({     
  13.             proxy:new Ext.data.HttpProxy({     
  14.                 url:'TestAction!loadOperator.action'    
  15.             }),     
  16.             reader:new Ext.data.JsonReader({     
  17.                 root: 'root',     
  18.                 totalProperty: 'totalProperty',     
  19.                 fields:['code','desc']     
  20.             }     
  21.         ),     
  22.         autoLoad:true    
  23.     }),     
  24.     valueField: 'code',   //值字段     
  25.     displayField: 'desc', //显示字段      
  26.     value:'全部'    
  27. });     
  28. //后台参见:http://blog.csdn.net/xieshengjun2009/archive/2010/10/22/5959687.aspx   

3、动态取值后 - 前台另添加一条记录:

  1. var record = Ext.data.Record.create([  
  2.         {name:'code',type:'string',mapping:'0'},  
  3.         {name:'desc',type:'string',mapping:'1'}  
  4. ]);  
  5. var newRecord = new record({code:'全部',desc:'全部'});  
  6. var store = new Ext.data.Store({  
  7.     proxy:new Ext.data.HttpProxy({url:'TestAction!loadGroupName.action'}),  
  8.     reader:new Ext.data.JsonReader({  
  9.         totalProperty:'results',  
  10.         root:'rows',  
  11.         fields:[  
  12.             {name:'code'},  
  13.             {name:'desc'}  
  14.         ]  
  15.     }),  
  16.     autoLoad:true,  
  17.     listeners:{'load':function(){  
  18.             store.add(newRecord);  
  19.         }  
  20.     }  
  21. });  
  22. var groupNameComboBox = new Ext.form.ComboBox({  
  23.     name:'groupName',  
  24.     width:130,  
  25.     readOnly:true,  
  26.     emptyText:'请选择',  
  27.     valueField:'code',      //逻辑列名的实际值(code)  
  28.     displayField:'desc',    //逻辑列名的显示值(decs)  
  29.     triggerAction:'all',  
  30.     editable : false,  
  31.         width:140,  
  32.         anchor:'100%',  
  33.         store:store  

4、动态取值后 - 后台另添加一条记录:

     前台:

  1. var dynamicComboBox = new Ext.form.ComboBox({  
  2.     fieldLabel:'回访人员',  
  3.     hiddenName:'operator',  
  4.     name: 'operator',  
  5.     mode: 'remote',  
  6.     triggerAction:'all',  
  7.     anchor:'100%',  
  8.     editable : false,  
  9.     readOnly:true,  
  10.     store:  
  11.         new Ext.data.Store({  
  12.             proxy:new Ext.data.HttpProxy({  
  13.                 url:'TestAction!loadOperator.action'  
  14.             }),  
  15.             reader:new Ext.data.JsonReader({  
  16.                 root: 'root',  
  17.                 totalProperty: 'totalProperty',  
  18.                 fields:['code','desc']  
  19.             }  
  20.         ),  
  21.         autoLoad:true  
  22.     }),  
  23.     valueField: 'code',   //值字段  
  24.     displayField: 'desc', //显示字段   
  25.     value:'全部'  
  26. });  

后台:

  1. Opterator optr = new Opterator();//返回的列表对象(自定义)  
  2. List<Opterator> list = testService.loadtOpterator(map);  
  3. Iterator<Opterator> it = list.iterator();  
  4. int i=0;  
  5. //将list列表数据封装成json格式的数据  
  6. JSONObject jsonObject = new JSONObject();  
  7. JSONArray jsonArray = new JSONArray();  
  8. JSONObject jsonAll = new JSONObject();  
  9. jsonAll.put("code", "全部");  
  10. jsonAll.put("desc", "全部");  
  11. jsonArray.put(i++, jsonAll);  
  12. while(it.hasNext()){  
  13.     JSONObject jsonObj = new JSONObject();  
  14.     optr = (Opterator)it.next();  
  15.     jsonObj.put("code", sr.getOptr());  
  16.     jsonObj.put("desc", sr.getOptr());  
  17.     jsonArray.put(i++, jsonObj);  
  18. }  
  19. jsonObject.put("totalProperty", list.size());  
  20. jsonObject.put("root", jsonArray);  
  21. // 输出到前台  
  22. outJsonString(jsonObject.toString());