2012-01-02 107 views
5

以前在ext 3.0中,我們使用XML響應構建了Tree Panel。 對於我們有自定義類擴展'Ext.tree.TreeLoader' 這個TreeLoader是建立樹結構(父/子節點)有用。從ExtJS 3.0遷移到4.0

遷移到4.0時發現TreeLoader類缺失。 有沒有替代這個類或任何其他方式來構建樹結構?

我想生成以下XML樹結構: 其實,我想從這個XML構建樹結構:

<?xml version='1.0' ?> 
<Root> 
<Folder> 
<CreateDate>Apr 29, 2011</CreateDate> 
<CreatedBy>1000</CreatedBy> 
<Files/> 
<FolderName>Testing</FolderName> 
<FolderNamePath/> 
<FolderPath/> 
<Folders> 
<Folder> 
<CreateDate>Apr 6, 2011</CreateDate> 
<CreatedBy>1000</CreatedBy> 
<Files/> 
<FolderName>JayM</FolderName> 
<Folders> 
<Folder> 
<CreateDate>Apr 6, 2011</CreateDate> 
<CreatedBy>1000</CreatedBy> 
<Files/> 
<FolderName>JaM</FolderName> 
<Id>2000</Id> 
<ModDate>Dec 30, 2011</ModDate> 
<ParentFolderId>1948</ParentFolderId> 
</Folder> 
</Folders> 
<Id>1948</Id> 
<ModBy>1000</ModBy> 
<ModDate>Dec 30, 2011</ModDate> 
<ParentFolderId>1</ParentFolderId> 
</Folder> 

<Folder> 
<CreateDate>Dec 2, 2011</CreateDate> 
<CreatedBy>1000</CreatedBy> 
<Files/> 
<FolderName>demo folder</FolderName> 
<Folders/> 
<Id>2427</Id> 
<ModBy/> 
<ModDate/> 
<ParentFolderId>1</ParentFolderId> 
</Folder> 

</Folders> 
<Id>1</Id> 
<ModBy/> 
<ModDate/> 
<ParentFolderId/> 
</Folder> 
</Root> 

任何幫助表示讚賞。

回答

3

你要考慮的TreeStore,它與任何標準代理(加上你的情況的XmlReader)一起,在內線4 TreeStore更換TreeLoader包含標準型實例(即記錄)已被NodeInterface類修飾以提供特定於樹的行爲。現在API與標準存儲/記錄API非常相似,不同於3.x中的TreeLoader,它完全獨立。

看看tree examples,尤其是XML tree example你的情況,以供使用。

+0

謝謝bmoeskau!你能給出除Sencha Docs以外的任何TreeStore示例嗎? – 2012-01-02 10:44:19

+0

請參閱上面的示例鏈接 – 2012-01-02 15:19:23

1

在ExtJS 4中,您使用樹面板而不是樹加載器來構建樹結構(父/子節點)。

示例代碼:

var treepanel = Ext.create('Ext.tree.Panel',{ 
id : 'tree', 
width : 300, 
height : 300, 
store : testStore, 
rootVisible : false 
}); 
+0

樹面板同時存在於分機3和4中,與加載數據無關。加載從TreeLoader更改爲TreeStore +代理。 – 2012-01-02 07:47:43