扩展ExtJS的【Ext.data.reader.Json】例子

一,下面是扩展Class

 

Ext.define('Dncsoft.data.MyReader', {
    extend: 'Ext.data.reader.Json',
    alternateClassName: 'Ext.data.DncReader',
    alias : 'reader.dncreader',
    
    startDate: new Date(),
    endDate: new Date(),
    
    getResponseData: function(response) {
        var me = this;
        var data = me.callParent(arguments);
        return me.change(data);
    },
    
    change: function(sourceJson) {
        var me = this;
        
        // filter data and sum value
        var map = new Ext.util.HashMap();
        for (var i = 0, iEnd = sourceJson.length; i < iEnd; ++i) {
            map.add(_id, {"id":_id, "v":_v});
        }
        
        return map.getValues();
    }
});

 

二,这是用扩展Class的地方。

 

var store = Ext.create('Ext.data.JsonStore', {
    model: 'Dncsoft.data.MyModel',
    buffered: true,
    purgePageCount: 0,
    proxy: {
        type: 'ajax',
        url: 'mydata.json',
        noCache: true,
        filterParam: undefined,
        groupParam: undefined,
        limitParam: undefined,
        startParam: undefined,
        sortParam: undefined,
        pageParam: undefined,
        reader: {
            model: 'Dncsoft.data.MyModel',
            type: 'dncreader',
            root: 'root',
            startDate: new Date('1/15/2011'),
            endDate: new Date('2/31/2013')
        }
    },
    autoLoad: false
});

 

 

 

//END

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ExtJS 中,`reader` 是 `store` 的一个属性,用于解析后台返回的数据并填充到 `store` 的数据模型中。`reader` 通常与 `model` 配合使用,可以根据后台返回的数据结构动态生成数据模型,并将数据填充到数据模型中。 `reader` 可以配置以下几个属性: 1. `type`:指定数据解析的类型,可以是 `json`、`xml`、`html`、`array` 等。 2. `rootProperty`:指定后台返回数据的根节点名称。 3. `record`:指定数据模型的名称,如果不指定,则根据返回数据自动生成。 4. `fields`:指定数据模型的字段,如果不指定,则根据返回数据自动生成。 5. `totalProperty`:指定后台返回数据的总记录数字段名。 6. `successProperty`:指定后台返回数据的成功标识字段名。 7. `messageProperty`:指定后台返回数据的消息字段名。 8. `implicitIncludes`:指定是否自动解析嵌套数据。 使用 `reader` 可以方便地处理后台返回的数据,并将数据填充到 `store` 的数据模型中。例如,以下代码演示了如何使用 `reader` 解析后台返回的 JSON 数据,并填充到 `store` 中: ``` Ext.create('Ext.data.Store', { model: 'User', proxy: { type: 'ajax', url: '/users', reader: { type: 'json', rootProperty: 'data' } }, autoLoad: true }); ``` 上面的代码中,`User` 是一个数据模型,`/users` 是后台返回的 JSON 数据接口,`rootProperty` 指定了返回数据的根节点。当 `store` 加载数据时,`reader` 会解析后台返回的 JSON 数据,并将数据填充到 `User` 数据模型中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值