DojoでTreeを使う
ドキュメントを読んだりいろいろ試したりしているが、なにか誤解してるかもしれない。
- dijit.Treeウィジェットに、ツリー構造の中身をdojo.dataを使って指定する。
- dojo.data.ItemFileReadStoreを使うとJSONで書けるなる(XMLとかCVSでデータを書けるオブジェクトも別にある)。
<html> <head> <script type="text/javascript" src="dojo/dojo.js" djConfig="parseOnLoad: true"> </script> <script type="text/javascript"> dojo.require("dojo.data.ItemFileReadStore"); dojo.require("dijit.Tree"); dojo.require("dojo.parser"); </script> <style type="text/css"> @import "dojo/resources/dojo.css"; @import "dijit/themes/tundra/tundra.css"; </style> </head> <body class="tundra"> <div dojoType="dojo.data.ItemFileReadStore" jsId="treeData" url="test_tree.json"></div> <div dojoType="dijit.Tree" id="mytree" store="treeData" labelAttr="node_name" label="Root"> </div> </body> </html>
test_tree.jsonの中身は以下のようになる。
{ 'identifier' : 'node_id', 'label' : 'node_name', 'items' : [ {'node_id':1, 'node_name': 'node1'}, {'node_id':2, 'node_name': 'node2', 'children': [{'node_id':3, 'node_name':'node3'}, {'node_id':4, 'node_name':'node4'}]}, {'node_id':5, 'node_name': 'node5'} ] }