2012-11-09 44 views
3

在煎茶觸摸2.1,我有以下的嵌套列表定義:嵌套列表,多種佈局

xtype: 'NestedList', 
docked: 'top', 
ui: 'light', 
store: treeStore, 
detailCard: true, 
detailContainer: // Reference to a Another Panel 

我可以得到嵌套列表出現,但通過JSON增加項目被證明是有問題的。這裏是我的JSON的示例:

[ 
    { 
     "BranchID" : 4, 
     "BranchName" : "Branch Name", 
     "Jobs" : [ 
      { 
      "JobOrderID" : 75, 
      "JobTitle" : "Job Title", 
      "leaf" : true 
      } 
     ] 
    } 
] 

這裏是我的樹商店和貨品:

// Define a List Item: 
Ext.define('Branch', { 
    extend: 'Ext.data.Model', 
    config: { 
     fields: [ 
      'BranchID', 
      'BranchName' 
     ] 
    } 
}); 

var treeStore = Ext.create('Ext.data.TreeStore', { 
    model: 'Branch', 
    defaultRootProperty: 'items', 
    proxy: { 
     type: 'ajax', 
     url: 'data/region.php' 
    } 
}); 

我可以看到,數據/ region.php被調用,它的正確返回JSON - 但列表項不顯示。我如何獲得列表項目?

此外,我想使用不同的佈局爲葉節點 - 和具有那些葉節點拉起在單獨面板的請求。如何識別面板,以便我可以在我的NestedList的DetailContainer部分中引用它?

我在找什麼:

  1. 分行的名單
  2. 輕按一個分支,列出所有的工作
  3. 輕按工作,細節顯示在其他面板。

我已閱讀文檔,但對於更復雜的實現似乎有點稀疏。

回答

4

從我的經驗煎茶,我的建議是從來沒有使用Ext.NestedList。當你的模型非常簡單時,它們非常方便,但當你模型包含關聯時很難定製。

所以我會做什麼(並做)是使用Ext.navigation.View並推動新列表,因爲你點擊以前的列表項目。這是完全相同的概念爲Ext.NestedList,所以它不會超載您的應用程序。

Here is an example based on your data

如果您有任何問題隨時問

希望這有助於

+0

冠軍的努力!這樣做會很好 - 非常感謝您的及時答覆! – EvilChookie

+0

非常歡迎。 –

+0

我是新來的煎茶和這個例子是,對我來說是巨大的幫助。但是,您引用的網站不再有效。你會如此善良以在其他地方發佈你的例子嗎? – fansonly

0

我覺得你defaultRootProperty是錯誤的,treeStore。

應該

defaultRootProperty: 'Jobs', 

API reference

+0

我給它一個旋轉,但它並沒有幫助 - 定的接受的答案提供了一個可行的解決方案我數據 - 謝謝你嘗試。 – EvilChookie