extjs中的mapping 和 dataIndex

在extjs的项目开发中,有时候中弄不清record中的 mapping和columnModel中的dataIndex的区别,在这里做下备注

数据集  data:

var MyRecord = Ext.data.Record.create([
             {name: 'title'},
             {name: 'username', mapping: 'author'},
             {name: 'loginTimes', type: 'int'}
]);

 

 var myReader = new Ext.data.JsonReader({
      totalProperty: "results", 
      root: "rows",       
      id: "id" 
}, MyRecord);

 

 

这里的JsonReader可以解析下面的JSON数据

 

{ 'results': 2, 'rows': [
    { id: 1, title: '测试', author: '小王', loginTimes: 3 },
    { id: 2, title: 'Ben', author: 'williamraym', loginTimes:13} ]
}

 

在创建myRecord中  {name: 'username', mapping: 'author'} 中就用到了mapping,在数据中没有。record就会解析json数据中的  author 属性。

总结 mapping的作用是 reader解析数据的时候,与数据做匹配解析用的

 

dataIndex是column中列对应的数据集字段

 

    var cm = new Ext.grid.ColumnModel([
        {header:'编号',dataIndex:'id',sortable:true},
        {header:'名称',dataIndex:'name'},
        {header:'描述',dataIndex:'descn'}
    ]);

    var data = [
        ['1','name1','descn1'],
        ['2','name2','descn2'],
        ['3','name3','descn3'],
        ['4','name4','descn4'],
        ['5','name5','descn5']
    ];

    var store = new Ext.data.Store({
        proxy: new Ext.data.MemoryProxy(data),
        reader: new Ext.data.ArrayReader({}, [
            {name: 'id',mapping:1},
            {name: 'name',mapping:0},
            {name: 'descn',mapping:2}
        ])
    });
    store.load();

    var grid = new Ext.grid.GridPanel({
        autoHeight: true,
        renderTo: 'grid',
        store: store,
        cm: cm
    });

 dataIndex是在ColumnModel中。Mapping是在render中。dataIndex是关联columnMode和store中render的name。  mapping是关联 store和 data数据的

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值