2011-07-13 150 views
0

我试图从数据库中拉出几条记录,并将其显示为其中一个面板(或屏幕)上的列表。但我不能在屏幕上看到任何东西。请帮我,我错了。sencha触摸列表显示

服务器返回一个JSON响应

{"success":true,"savedDeals":[ 
{"dealId":"17","dealName":"$2 Off Any Sandwich","dealText":"Valid with the purchase of any drink on Tuesday through Thursday from 11am to 4pm. Cannot be combined with other offers.","dealCategory":"Restaurant","dealCount":"0","dealRemaining":99999}, 
{"dealId":"21","dealName":"$10 OFF Kid's Clothing & Gifts","dealText":"Spend $50 and receive $10 off your total purchase","dealCategory":"Baby\/Kids","dealCount":"3","dealRemaining":3} 
]} 

模型是这样的:

​​

这家店看起来

myapp.stores.SSavedDeals = new Ext.data.Store({ 
model: 'myapp.models.savedDeals', 
autoload: true, 
id : 'savedDealsStore', 
proxy: { 
    type: 'ajax', 
    url: '/myappfiles/savedDeals.php', 
    params: { 
     UserID: '62' 
    },  
    reader: { 
     type: 'json', 
     root: 'savedDeals', 

    } 
}, 

}); 

和视图看起来像

 myapp.views.DealraiserSavedDeals = Ext.extend(Ext.Panel,{ 

     fullscreen : true, 

     standardSubmit : false, 

     dockedItems: [{ 
      xtype: 'toolbar', 
      title: 'Deals List', 
      dock: 'top', 
      items: [{ 
       xtype: 'button', 
       text: 'Home', 
       ui: 'Home', 
       handler: function(){      
        myapp.views.viewport.setActiveItem(myapp.views.dealraiserHome , 'slide'); 
       } 

      }] 
     }, 
     ], 

     items: [{ 
     xtype: 'list', 
     id : 'savedList', 
     emptyText : 'No data available.', 
     store: myapp.stores.SSavedDeals, 
     itemTpl: '{dealName}' 
     }] 

     initComponent: function() { 
     myapp.stores.SSavedDeals.load(); 
     myapp.views.DealraiserHome.superclass.initComponent.apply(this, arguments); 
     } 
}); 

请帮忙,我该怎么办才能解决这个问题。

谢谢。

回答

0

我认为罪魁祸首是你调用不同类的超类initComponent方法,如果这是有道理的!

initComponent: function() { 
    myapp.stores.SSavedDeals.load(); 
    myapp.views.**DealraiserSavedDeals**.superclass.initComponent.apply(this, arguments); 
} 

您还在initComponent定义之前的'items'数组后面缺少一个逗号。

进行这些更改后,列表在本地副本上显示给我 - 唯一的区别是我将数据作为数组加载而不是从PHP文件加载。

+0

我做了这些更改,并尝试通过使用'data:'属性从商店本身加载数据来测试它。有效。但是,数据不是从php文件加载的。 关于如何从php文件加载数据的任何建议。 谢谢。 – user842122