博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ExtJS之Store
阅读量:2781 次
发布时间:2019-05-13

本文共 2170 字,大约阅读时间需要 7 分钟。

据目前所知:Store至少分为两类,一个是SimpleStore,另一个是JsonStore。 
1,用在gridPanel中常使用SimpleStore 
Js代码  
  1. var store_stat = new Ext.data.SimpleStore({   
  2.             fields:[  
  3.             {name:'date',mapping:'date'}  
  4.             ,{name:'model',mapping:'model'}  
  5.             ,{name:'per',mapping:'per'}  
  6.             ]  
  7.         });  
2,填充表单中的下拉菜单(combo),常用JsonStore。 
(1)简单JsonStore 
Js代码  
  1. var data=[{
    'id':1,'name':'小王','sex':'男'},  
  2.               {
    'id':2,'name':'小李','sex':'男'},  
  3.               {
    'id':3,'name':'小兰','sex':'女'},  
  4.               ];  
  5.       
  6.     var store = new Ext.data.JsonStore({  
  7.             data:data,  
  8.             fields:['id','name','sex']  
  9.         });  
批注:当时静态数据时,fields可以是['id','name','sex'], 
如果是通过url动态获取数据是,必须是fields:[{name:'id'},{name:'suit'},{name:'type'}] 
(2)通过url获取数据 
例如, 
Js代码  
  1. var store_modellist2 = new Ext.data.JsonStore({  
  2.         fields:['model'],  
  3.         url:'api/fail.php',  
  4.         root:'data',  
  5.         baseParams:{action:'get_all_models'}  
  6.     });  
  7.     store_modellist2.load();  
  8.   
  9. var combo_model2 = new Ext.form.ComboBox({  
  10.             width:100,  
  11.             editable:false,  
  12.             triggerAction:'all',  
  13.             allowBlank:false,  
  14.             store:store_modellist2,  
  15.             displayField:'model',  
  16.             value:"\u8BF7\u9009\u62E9\u673A\u578B",  
  17.             allQuery:""//开启此项后,选择机型时将不再在此获取机型数据  
  18.             listeners:{  
  19.             'select' : function(obj, data, index){  
  20.                     var modelName = obj.getValue();  
  21.                     if(modelName !== "\u8BF7\u9009\u62E9\u673A\u578B"){  
  22.                         refresh_fail_chart(modelName);  
  23.                     }  
  24.                 }  
  25.             }  
  26.             //,mode:'local'  
  27.         });  
注:先后顺序不能颠倒。先JsonStore,后ComboBox。 
(3)高级用法对比 
Js代码  
  1. //用法一  
  2. var jsonStore = new Ext.data.JsonStore({  
  3.     url: 'api/fail_parts_bydepart.php',  
  4.     listeners:{  
  5.        'loadexception' : function(e){  
  6.         alert(e.toString());  
  7.         }  
  8.     },  
  9.     fields: [  
  10.     {name: 'name'},  
  11.     {name: 'flash'},  
  12.     {name: 'percent'}  
  13.           
  14.     ]  
  15. });  
  16.   
  17.   
  18. jsonStore.load({  
  19.     params:{  
  20.         'level' : level,  
  21.         'department' : paras.department,  
  22.         'product': paras.product,  
  23.         'target': is_one,  
  24.         'suit':paras.suit,  
  25.         'model':paras.model,  
  26.         'part':paras.part,  
  27.         'dateStr':dateStr  
  28.     }  
  29. });  
  30.   
  31. //用法二  
  32. var store = {  
  33.     'department' : new Ext.data.JsonStore({  
  34.         url: 'api/list_k.php?action=department',  
  35.         fields: ['name']}),   
  36.     'product' : new Ext.data.JsonStore({  
  37.         url: 'api/list_k.php?action=product',  
  38.         fields: ['name']})  
  39. };  
  40.   
  41. store.product.baseParams = {
    'department' : encodeURIComponent(data.data.name)};  
  42. store.product.load();  
  43.   
  44.   
  45. detailStore.on('beforeload'function() {  
  46.   detailStore.baseParams = {  
  47.     
  48.   };  
  49. });  
JS中encodeURIComponent函数用php解码 
在JS中使用了encodeURIComponent对中文进行编码在PHP中使用iconv('UTF-8','gb2312',$q);就可以得到你需要的字串了

转载地址:http://irold.baihongyu.com/

你可能感兴趣的文章
Freemark----基本数据类型(对象)
查看>>
freemark-----------list(list,map遍历)
查看>>
freemark--宏定义
查看>>
Mybatis报错----result Map
查看>>
maven热部署插件-jetty
查看>>
一个很好的滚动条插件jquery.slimscroll.js
查看>>
MyBatis实现最基本的Cred
查看>>
MyBatis的分页插件介绍
查看>>
如何用C++写一个Singleton 单例模式
查看>>
[leetcode] 140. Word Break II 解题报告
查看>>
[leetcode] 96. Unique Binary Search Trees 解题报告
查看>>
[leetcode] 62. Unique Paths 解题报告
查看>>
[leetcode] 63. Unique Paths II 解题报告
查看>>
[leetcode] 95. Unique Binary Search Trees II 解题报告
查看>>
[leetcode] 87. Scramble String 解题报告
查看>>
[leetcode] 97. Interleaving String 解题报告
查看>>
[leetcode] 89. Gray Code 解题报告
查看>>
[leetcode] 364. Nested List Weight Sum II 解题报告
查看>>
[leetcode] 291. Word Pattern II 解题报告
查看>>
[leetcode] 359. Logger Rate Limiter 解题报告
查看>>