2012-01-02 6 views
5

Precedentemente nella versione 3.0 avevamo il pannello Tree generato dalla risposta XML. Per questo avevamo una classe personalizzata che estendeva 'Ext.tree.TreeLoader' Questo TreeLoader era utile per costruire una struttura ad albero (nodi padre/figlio).Migrazione da ExtJS 3.0 a 4.0

Durante la migrazione a 4.0 è stato rilevato che la classe TreeLoader è mancante. Esiste un rimpiazzo per questa classe o qualsiasi altro modo di costruire la struttura ad albero?

voglio generare struttura ad albero per le seguenti xml: In realtà, voglio costruire struttura ad albero da questo 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> 

Ogni aiuto è apprezzato.

risposta

3

ti consigliamo di esaminare la TreeStore, che, insieme a qualsiasi proxy standard (più XmlReader nel tuo caso), sostituito TreeLoader in Ext 4. TreeStore contiene modello di serie istanze (cioè record) che sono state decorate dalla classe NodeInterface per fornire un comportamento specifico dell'albero. L'API è ora molto simile all'API store/record standard, diversamente da TreeLoader in 3.x, che era completamente separato.

Dai un'occhiata allo tree examples, in particolare lo XML tree example nel tuo caso, per l'utilizzo.

+0

Grazie bmoeskau! puoi dare un esempio di TreeStore diverso da Sencha Docs? –

+0

Si prega di consultare i link di esempio sopra –

1

In ExtJS 4, si dispone di un pannello ad albero al posto del caricatore di alberi per costruire la struttura ad albero (nodi padre/figlio).

Esempio di codice:

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

Il pannello dell'albero esiste in entrambi Ext 3 e 4 e non ha nulla a che fare con il caricamento dei dati. Il caricamento è stato modificato da TreeLoader a TreeStore + proxy. –