不做浮躁的人
研究一周时间的laszlo,终于放弃,转而研究flex,志在使用研究...
posts - 40,  comments - 28,  trackbacks - 0

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/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>

posted on 2006-11-24 02:42 不做浮躁的人 阅读(1912) 评论(1)  编辑  收藏 所属分类: dojo

FeedBack:
# re: dojo tree:program create tree[未登录]
2007-07-19 09:10 | jacky
请问搂主能不能提供一些controller的例子阿  回复  更多评论
  

标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
 
 

推荐图书:
走出软件作坊》、《悟透JavaScript》、《Head First 设计模式
相关链接:
网站导航:




<2006年11月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

常用链接

留言簿(6)

随笔分类(33)

随笔档案(39)

文章分类(1)

文章档案(2)

搜索

  •  

最新评论

阅读排行榜

评论排行榜