分享

dojo tree:program create tree

 tinaroad 2007-04-16

主 要使用他做带有复选框的树,一次性从数据库得到数据,产生js代码,送到浏览器执行。复选框可以直接写到标题里面,注意复选框的id命名规则,合理的命名 可以处理一些操作(比如,取消上级,则取消所有下级)。最后就是对一次读取数据库可以采用路径发和封闭法一次性读取树的所有数据,避免递归方式。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www./TR/html4/strict.dtd">
<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>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多