zoukankan      html  css  js  c++  java
  • extjs store中数据转换成json

    主要有以下两种方法: 

    1.

    var jsonData = Ext.encode(Ext.pluck(store.data.items, 'data')); 
    

    2.

    var datar = new Array();  
    var jsonDataEncode = "";  
    var records = store.getRange();  
    for (var i = 0; i < records.length; i++) {  
        datar.push(records[i].data);  
    }  
    jsonDataEncode = Ext.util.JSON.encode(datar);  

    项目中需要将添加或者修改过的的积分兑换奖品记录传给后台,例如。

    'fenexchyuliu button#SaveBtn' : {
      click : function(btn) {
        var grid = btn.up('gridpanel');
        var mr = grid.getStore().getModifiedRecords().slice(0);// 复制所有更新过的记录
        var recordCount = grid.getStore().getCount();// 获取数据集中记录的数量
        alert(mr.length);
        if (mr.length == 0) { // 确认修改记录数量
          alert("没有修改数据!");
          return;
        };
        var datar = new Array();
        for (var i = 0; i < mr.length; i++) {
        datar.push(mr[i].data);
        }
        Share.AjaxRequest({
        url : 'fen/rsvnfen',
          params : {
            listdata : Ext.encode(datar),
            loadname : btn.up("window").loadname
          },
          callback : function() {
          btn.up("window").close();
          }
        });
      }
    }

     
    array, propertyName ) : Array

    Plucks the value of a property from each item in the Array. Example:

    Ext.Array.pluck(Ext.query("p"), "className"); // [el1.className, el2.className, ..., elN.className]

    Available since: 4.0.0

    Parameters

    • array : Array/NodeList

      The Array of items to pluck the value from.

    • propertyName : String

      The property name to pluck from each element.

    Returns

    Array

    The value from each item in the Array.

        上面的示例中用到了数组对象的Slice(start,[end])方法,该方法返回一个新数组,包含了原函数从start到end所指定的元素,但是不包括end元素,比如a.slice(0,3)。如果start为负,则将它作为length+start处理(此处length为数组的长度,比如a.slice(-3,4),相当于a.slice(2,4))。如果end为负,就将它作为length+end处理(次数length为数组的长度,比如a.slice(0,-1)。如果省略end,那么slice方法将一直复制到原数组结尾,比如a.slice(1))。如果省略end,那么slice方法将一直复制到原数组结尾,比如a.slice(1)。如果end出现在start之前,不复制任何元素到新数组中,比如a.slice(4,3)。示例中store.getModifiedRecords().slice(0)的作用就是复制store.getModifiedRecords(),保证store.getModifiedRecords()中的原始数据不受影响。

  • 相关阅读:
    Xamarin.Android开发实践(十八)
    Xamarin.Android开发实践(十七)
    smokeping网络监控
    Cobbler自动化部署
    在线编辑器KindEditor的使用
    前端之快速创建标签
    Tornado之自定义异步非阻塞的服务器和客户端
    算法基础知识之树、二叉树
    Tornado之实例和扩展
    Scrapy源码研究前戏
  • 原文地址:https://www.cnblogs.com/linruiyi2015/p/4974602.html
Copyright © 2011-2022 走看看