ExtJS之Store

前端之家收集整理的这篇文章主要介绍了ExtJS之Store前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
据目前所知:Store至少分为两类,一个是SimpleStore,另一个是JsonStore。

1,用在gridPanel中常使用SimpleStore
Js代码
  1. varstore_stat=newExt.data.SimpleStore({
  2. fields:[
  3. {name:'date',mapping:'date'}
  4. ,{name:'model',mapping:'model'}
  5. 'per',mapping:'per'}
  6. ]
  7. });


2,填充表单中的下拉菜单(combo),常用JsonStore。
(1)简单JsonStore
vardata=[{'id':1,'name':'小王','sex':'男'},
  • {'id':2,'name':'小李',250); line-height:18px"> {'id':3,'name':'小兰','sex':'女'},250); line-height:18px"> ];
  • varstore=newExt.data.JsonStore({
  • data:data,250); line-height:18px"> fields:['id','name','sex']
  • });


  • 批注:当时静态数据时,fields可以是['id','name','sex'],
    如果是通过url动态获取数据是,必须是fields:[{name:'id'},{name:'suit'},{name:'type'}]


    (2)通过url获取数据
    例如,
    varstore_modellist2= fields:['model'],250); line-height:18px"> url:'api/fail.PHP',250); line-height:18px"> root:'data',250); line-height:18px"> baseParams:{action:'get_all_models'}
  • });
  • store_modellist2.load();
  • varcombo_model2=newExt.form.ComboBox({
  • width:100,250); line-height:18px"> editable:false,250); line-height:18px"> triggerAction:'all',250); line-height:18px"> allowBlank: store:store_modellist2,250); line-height:18px"> displayField:'model',250); line-height:18px"> value:"\u8BF7\u9009\u62E9\u673A\u578B",250); line-height:18px"> allQuery:"",//开启此项后,选择机型时将不再在此获取机型数据
  • listeners:{
  • 'select':function(obj,data,index){
  • varmodelName=obj.getValue();
  • if(modelName!=="\u8BF7\u9009\u62E9\u673A\u578B"){
  • refresh_fail_chart(modelName);
  • }
  • //,mode:'local'
  • });


  • 注:先后顺序不能颠倒。先JsonStore,后ComboBox

    (3)高级用法对比
    //用法
  • varjsonStore= url:'api/fail_parts_bydepart.PHP',250); line-height:18px"> 'loadexception':function(e){
  • alert(e.toString());
  • },250); line-height:18px"> {name:'name'},250); line-height:18px"> {name:'flash'},250); line-height:18px"> {name:'percent'}
  • jsonStore.load({
  • params:{
  • 'level':level,250); line-height:18px"> 'department':paras.department,250); line-height:18px"> 'product':paras.product,250); line-height:18px"> 'target':is_one,250); line-height:18px"> 'suit':paras.suit,250); line-height:18px"> 'model':paras.model,250); line-height:18px"> 'part':paras.part,250); line-height:18px"> 'dateStr':dateStr
  • //用法
  • varstore={
  • 'department': url:'api/list_k.PHP?action=department',250); line-height:18px"> fields:['name']}),250); line-height:18px"> 'product': url:'api/list_k.PHP?action=product',250); line-height:18px"> fields:['name']})
  • };
  • store.product.baseParams={'department':encodeURIComponent(data.data.name)};
  • store.product.load();
  • detailStore.on('beforeload',function(){
  • detailStore.baseParams={
  • });
  • JS中encodeURIComponent函数PHP解码 在JS中使用了encodeURIComponent对中文进行编码在PHP中使用iconv('UTF-8','gb2312',$q);就可以得到你需要的字串了
    原文链接:https://www.f2er.com/json/290465.html

    猜你在找的Json相关文章