ExtJs3 では、私のチームはデータをツリーストアにロードするために次のことを行いました。ExtJS4 でこれを行う同等の方法は何ですか? NodeInterface を使用して同様のコードを実行すると、「null のプロパティ '0' を読み取れません」というエラーが発生します。
Ext.Ajax.request({
url: servlet,
success: function(response, opts)
{
var jsonData = Ext.decode(response.responseText);
var root = new Ext.tree.AsyncTreeNode({
text: 'Root test',
draggable: false,
id: 'root',
children: jsonData.tree.data
});
tree.setRootNode(root);
//...
更新:これを行う方法はあまり気にしません。2 つの要件があります。(1) 単一のサーバー リクエストを使用して無関係なデータを取得します。(2) 別のデータにツリーパネルとグリッドパネルを再利用する
動的に作成されたツリーパネルにデータをロードできました。ただし、setRootNode() を使用しても、既存のツリー パネルでは機能しません。
//this works
var tree = Ext.create('Ext.tree.Panel', {
root: {
text:'Application',
expanded:true,
children: jsonResponse.categoryTree.data
}
});
//this doesn't work
existingTree.setRootNode(root);