主要使用他做帶有復(fù)選框的樹,一次性從數(shù)據(jù)庫(kù)得到數(shù)據(jù),產(chǎn)生js代碼,送到瀏覽器執(zhí)行。復(fù)選框可以直接寫到標(biāo)題里面,注意復(fù)選框的id命名規(guī)則,合理的命名可以處理一些操作(比如,取消上級(jí),則取消所有下級(jí))。最后就是對(duì)一次讀取數(shù)據(jù)庫(kù)可以采用路徑發(fā)和封閉法一次性讀取樹的所有數(shù)據(jù),避免遞歸方式。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
??????? "<html>
<head>
<title>Dojo Tree Widget Test (dynamic node creation)</title>
<script type="text/javascript">
?var djConfig = {isDebug: true, debugAtAllCosts: true };
</script>
<script type="text/javascript" src="../../../dojo.js"></script>
<script type="text/javascript">
?dojo.require("dojo.widget.*");
?dojo.require("dojo.widget.TreeV3");
?dojo.require("dojo.widget.TreeNodeV3");
?dojo.require("dojo.widget.TreeBasicControllerV3");
?dojo.hostenv.writeIncludes();
</script>
<script type="text/javascript">
?dojo.addOnLoad(function(){
??var controller = dojo.widget.createWidget("TreeBasicControllerV3");??
??var tree = dojo.widget.createWidget("TreeV3", {listeners:[controller.widgetId]});
??
??document.body.appendChild(tree.domNode);
??var rootNode = dojo.widget.createWidget("TreeNodeV3", {title: "<input type='checkbox' class='TreeIcon' />Root Node", tree: tree.widgetId});
??
??tree.addChild(rootNode);
??var node1 = dojo.widget.createWidget("TreeNodeV3", {title: "Node 1", tree: tree.widgetId});
??rootNode.addChild(node1);
??var node2 = dojo.widget.createWidget("TreeNodeV3", {title: "Node 1.2", tree: tree.widgetId});
??node1.addChild(node2, null, "after");
??rootNode.addChild(dojo.widget.createWidget("TreeNodeV3", {title: "Node 2", tree: tree.widgetId}));
??var node3 = dojo.widget.createWidget("TreeNodeV3", {title: "Node 3<br>multiline", tree: tree.widgetId});
??rootNode.addChild(node3);
??var node3_1 = dojo.widget.createWidget("TreeNodeV3", {title: "Node 3.1", tree: tree.widgetId});
??node3.addChild(node3_1);
??node3_1.addChild(dojo.widget.createWidget("TreeNodeV3", {title: "Node 3.1.1", tree: tree.widgetId}))
??// Add some nodes the first element (rather than the last element) just for testing
??for(var i=1;i<5;i++) {
???node1.addChild(dojo.widget.createWidget("TreeNodeV3", {title: "Node 1."+i, tree: tree.widgetId}));
??}
??tree.addChild(dojo.widget.createWidget("TreeNodeV3", {title: "Root Node 2", tree: tree.widgetId}));
?});
</script>
</head>
<body>
<h4>Create tree programmatically</h4>
</body>
</html>
posted on 2006-11-24 02:42
不做浮躁的人 閱讀(3045)
評(píng)論(1) 編輯 收藏