从ExtJS 3.0迁移到4.0
问题描述:
以前在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>
任何帮助表示赞赏。
答
你要考虑的TreeStore,它与任何标准代理(加上你的情况的XmlReader)一起,在内线4 TreeStore更换TreeLoader包含标准型实例(即记录)已被NodeInterface类修饰以提供特定于树的行为。现在API与标准存储/记录API非常相似,不同于3.x中的TreeLoader,它完全独立。
看看tree examples,尤其是XML tree example你的情况,以供使用。
答
在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
谢谢bmoeskau!你能给出除Sencha Docs以外的任何TreeStore示例吗? – 2012-01-02 10:44:19
请参阅上面的示例链接 – 2012-01-02 15:19:23