如何在sencha touch-2.4.1中的listview页面的不同行中显示嵌套的Json数据

时间:2015-02-18 18:25:35

标签: sencha-touch-2.1

我在视图中的输出如下所示

    Campaigns,Quotes,PurchaseOrder,SalesOrder,Calendar,Leads,Accounts

但我想逐行排列

      Campaigns 
      Quotes
      PurchaseOrder
      SalesOrder
      Calendar
      Leads
      Accounts

我的JSON文件

{"success":true,
"result":
{"types":   
["Campaigns","Quotes","PurchaseOrder",
"SalesOrder","Calendar","Leads","Accounts]      
}
}

我的模特

fields: [
{name: 'success', type: 'boolean'},
{name: 'types', type:'auto', mapping:'result.types'}

],

我的项目

itemTpl: '<tpl>{types}</tpl>',

我的商店     Ext.define(&#39; app1.store.mainmenustore&#39;,{     extend:&#39; Ext.data.Store&#39;,     要求:[&#39; Ext.data.proxy.SessionStorage&#39;,&#39; Ext.data.proxy.Ajax&#39;],     配置:     {
     model:&#39; app1.model.mainmenumodel&#39;,

proxy:{
type:'ajax',
url:'http://192.168.50.118/crm/webservice.php?  
sessionName=sessionId&operation=listtypes',


reader:{
type:'json'

},
extraParams:{

sessionName: sessionStorage.getItem('sessionid')

},
});

1 个答案:

答案 0 :(得分:0)

您的问题是在json中返回数据的方式

[&#34;广告活动&#34;&#34;行情&#34;&#34;的PurchaseOrder&#34 ;, &#34; SalesOrder&#34;&#34;日历&#34;&#34;信息&#34;&#34;帐户&#34;]

它只是一个单一的记录,这就是为什么它在你的视图中显示为一行字符串。每个字符串值都需要包装在自己的数组或对象中。

所以要么是一个数组数组:

[["Campaigns"],["Quotes"],["PurchaseOrder"]...]

或者作为具有命名属性的正确JSON编码对象

[{type:"Campaigns"},{type:"Quotes"},{type:"PurchaseOrder"}...]

您的阅读器配置也应该将rootProperty设置为&#39; types&#39;所以它知道你的响应阻止数据开始的位置。