2012-01-02 25 views
5

Poprzednio w ext 3.0 mieliśmy Tree Panel zbudowane z odpowiedzi XML. Do tego mamy niestandardową klasę rozszerzającą 'Ext.tree.TreeLoader' Ten TreeLoader był użyteczny do budowy struktury drzewa (węzły nadrzędne/podrzędne).Migracja z ExtJS 3.0 do 4.0

Podczas migracji do wersji 4.0 wykryto brak klasy TreeLoader. Czy jest jakiś zastępstwo dla tej klasy lub inny sposób budowania struktury drzewa?

Chcę, aby wygenerować strukturę drzewa na poniższym xml: Właściwie chcę zbudować strukturę drzewa z tego 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> 

Każda pomoc jest mile widziana.

Odpowiedz

3

będziemy chcieli zajrzeć do TreeStore które wraz z dowolną standardową Proxy (plus XmlReader w Twoim przypadku), zastąpionego TreeLoader w Ext 4. TreeStore zawiera standardowy model instancje (tj. rekordy), które zostały urządzone przez klasę NodeInterface w celu zapewnienia zachowania specyficznego dla drzewa. Interfejs API jest teraz bardzo podobny do standardowego interfejsu API sklepu/rekordu, w przeciwieństwie do TreeLoadera w wersji 3.x, który był całkowicie oddzielny.

Spójrz na tree examples, szczególnie XML tree example w Twoim przypadku, do użytku.

+0

Dzięki bmoeskau! czy możesz podać dowolny przykład TreeStore inny niż Sencha Docs? –

+0

Zobacz przykładowe łącza powyżej –

1

W ExtJS 4, masz drzewem panel zamiast programu ładującego drzewa do budowania struktury drzewa (węzły nadrzędne/podrzędne).

Przykład Kod:

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

Panel drzewa istnieje w obu wersjach 3 i 4 i nie ma nic wspólnego z ładowaniem danych. Ładowanie zostało zmienione z TreeLoader na TreeStore + proxy. –