php – ExtJS 4网格:显示带关联的嵌套数据模型
发布时间:2020-12-13 17:39:03 所属栏目:PHP教程 来源:网络整理
导读:我是ExtJS的新手并且遇到了问题.我有一个深度嵌套的json数据,我已经使用多个关联模型成功加载到商店中.但是对于下一步,我无法在简单的网格中显示这些数据,请帮忙.我怎样才能在位于json深处的网格中显示某些内容….这是我的json { "success" : "true","total"
我是ExtJS的新手并且遇到了问题.我有一个深度嵌套的json数据,我已经使用多个关联模型成功加载到商店中.但是对于下一步,我无法在简单的网格中显示这些数据,请帮忙.我怎样才能在位于json深处的网格中显示某些内容….这是我的json
{ "success" : "true","total":2,"user" : { "id" : 12,"email" : "abc@gmail.com","course" : { "name" : "BESE","institute" : [{ "name" : "Engineering University","semester" : { "number":1,"TCH" : 12,"GPA" : 2.32,"Marks":23.32,"record" : [ { "subject" : "Global Studies","CH":2,"GP":4,"Grade": "A+","Marks":99.1 },{ "subject" : "Digital Logic Design","CH":4,"GP":3.5,"Grade": "B+","Marks":79.1 } ] } },{ "name" : "Another University","semester" : { "number":2,"TCH" : 22,"GPA" : 1.32,"Marks":13.32,"record" : [ { "subject" : "C++","GP":3,"Grade": "C+","Marks":59.1 },{ "subject" : "Engg Math","GP":2.5,"Grade": "C","Marks":39.1 } ] } }] } } } 这是我的代码…… Ext.define('User',{ extend: 'Ext.data.Model',fields: [ {name: 'id',type: 'int'},{name: 'email',type: 'string'},],proxy: { type: 'ajax',url : 'getRecord.php',reader: { type: 'json',root: 'user' } },hasMany: { model: 'Course',name: 'course',associationKey: 'course'} }); Ext.define('Course',{name: 'name',belongsTo: 'User',hasMany: { model: 'Institute',name: 'institute',associationKey: 'institute'} }); Ext.define('Institute',belongsTo: 'Course',hasMany: { model: 'Semester',name: 'semester',associationKey: 'semester' } }); Ext.define('Semester',fields: [ {name: 'number',{name: 'TCH',type: 'float'},{name: 'GPA',{name: 'Marks',belongsTo: 'Institute',hasMany: { model: 'Record',name: 'record',associationKey: 'record' } }); Ext.define('Record',fields: [ {name: 'subject',{name: 'CH',{name: 'GP',{name: 'Grade',belongsTo: 'Semester',}); Ext.require('Ext.data.*'); Ext.require('Ext.grid.*'); Ext.onReady(function(){ Ext.QuickTips.init(); var store = new Ext.data.Store({ model: "User",}); store.load({ }); Ext.create('Ext.grid.Panel',{ renderTo: Ext.getBody(),store: store,width: 400,height: 200,title: 'Application Users',columns: [ { text: 'Name',width: 100,sortable: false,hideable: false,dataIndex: 'email' },{ text: 'Email Address',width: 150,dataIndex: 'course>aname',},{ text: 'Phone Number',flex: 1,dataIndex: 'User.course.name' } ] }); }); 解决方法
目前的一个限制是,嵌套数据默认情况下不容易加载到网格中,但它正在积极处理.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |