zhaoziming-arch 2011-09-04 15:00
浏览 255
已采纳

EXTJS4 JSON 多个 嵌套 对象 取出 显示到表格中得问题

最近做EXTJS4 的 东西 遇到了问题 想求教 大家:

对嵌入对象做了mapping 可是 取不到  请朋友们指点:

 

后台发送过来的json 数据
{"totalRecord":26,"employees":{
"id":1,
"dept":{"name":"咨询部",id":3,"description":null,"code":null}
,"user":null,
"title":{"name":"咨询","id":3}
}
}

store:
this.store = Ext.create('Ext.data.Store', {
            fields: ['id',{name:'deptName',mapping:'dept.name'},
                     {name:'titleName',mapping:'title.name'}, ],   
            pageSize:20,
            proxy: {
                type: 'ajax',
                actionMethods : 'post',           
                url : "aa/aaa",          
                timeout : 1000*60*3,          
                reader: {
                    totalProperty:'totalRecord',
                    type: 'json',
                    root: 'employees',
                    remoteSort: true
                }
            }
        });
        
        grid 中的对应列
         this.columns =[
        {xtype: 'rownumberer',width: 50, sortable: false,align:'center'},
        {header: '部门',  dataIndex: 'deptName',width:150},
        {header: '职位',  dataIndex: 'titleName',width:150}
         ],

fireBug 报出的错误obj.dept is null

请问 这个 store 的 fields 应该怎么写?

 
请问 这个 store 的 fields 应该怎么写?

  • 写回答

1条回答 默认 最新

  • weixin_42468936 2011-09-04 20:36
    关注

    [code="java"]
    <br> Ext.onReady(function(){<br> //创建表格数据<br> var datas = {&quot;totalRecord&quot;:26,&quot;employees&quot;:{<br><br> &quot;id&quot;:1,<br><br> &quot;dept&quot;:{&quot;name&quot;:&quot;咨询部&quot;,&quot;id&quot;:3,&quot;description&quot;:null,&quot;code&quot;:null}, //你的数据id前面少了“<br> &quot;user&quot;:null,<br><br> &quot;title&quot;:{&quot;name&quot;:&quot;咨询&quot;,&quot;id&quot;:3}<br><br> }<br><br> };</p> <pre><code> //创建Grid表格组件 Ext.create(&#39;Ext.grid.Panel&#39;,{ title : &#39;简单Grid表格示例&#39;, renderTo: Ext.getBody(), width:200, height:130, frame:true, viewConfig: { forceFit : true, stripeRows: true//在表格中显示斑马线 }, store: {//配置数据源 fields: [ {name:&#39;id&#39;,mapping:&#39;id&#39;}, {name:&#39;deptName&#39;,mapping:&#39;dept.name&#39;}, {name:&#39;titleName&#39;,mapping:&#39;title.name&#39;} ], proxy: { type: &#39;memory&#39;,//Ext.data.proxy.Memory内存代理 data : datas,//读取内嵌数据 reader: { totalProperty:&#39;totalRecord&#39;, type: &#39;json&#39;, root: &#39;employees&#39; } }, autoLoad: true//自动加载 }, columns: [//配置表格列 {header: &quot;id&quot;, width: 30, dataIndex: &#39;id&#39;, sortable: true}, {header: &quot;部门&quot;, width: 80, dataIndex: &#39;deptName&#39;, sortable: true}, {header: &quot;职位&quot;, width: 80, dataIndex: &#39;titleName&#39;, sortable: true} ] }); }); </code></pre> <p>
    [/code]

    上面为本地测试代码 数据显示成功了 呵呵

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵