天天看點

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());