不做浮躁的人
          正在行走的人...
          posts - 171,  comments - 51,  trackbacks - 0

          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
          ??? "<html>
          ??? <head>
          ??????? <title>Untitled Document</title>
          ??????? <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
          ???
          ??? <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.require("dojo.widget.TreeDocIconExtension");
          ???????
          ??????? ?dojo.require("dojo.widget.TreeSelectorV3");
          ?????dojo.require("dojo.widget.TreeEmphasizeOnSelect");
          ?????dojo.require("dojo.widget.TreeExpandOnSelect");
          ?????dojo.require("dojo.widget.TreeToggleOnSelect");
          ?????
          ?????//樹的節點做超級連接。
          ?????//加div以及在節點寫object="href:http://...".
          ?????dojo.require("dojo.widget.TreeLinkExtension");
          ?????
          ?????//內容不折行
          ?????dojo.require("dojo.widget.TreeDisableWrapExtension");
          ?????
          ?????//拖動
          ?????dojo.require("dojo.widget.TreeDndControllerV3");
          ?????//上下文菜單
          ?????dojo.require("dojo.widget.TreeContextMenuV3");
          ?????//這個是用來綁定上下文菜單和controller事件的。需要擴展,缺少clone等方法。
          ?????dojo.require("dojo.widget.TreeDemo");
          ?????//菜單標簽編輯器
          ?????dojo.require("dojo.widget.TreeEditor");
          ?????
          ?????
          ??????? dojo.hostenv.writeIncludes();
          ???
          ??? ??//兩種結合方式
          ??? ??//基于方法
          ??? ??var selectAction = function() {???
          ???????? return function(message) {
          ???????????? alert(message.node);
          ???????? }
          ???? ?}
          ???? ?//基于類
          ??? ??
          ??? ??var selectClass = function() {???
          ???????? this.go = function(message) {
          ??????????? alert(message.node.widgetId);???????
          ??????????? alert(message.node.isFolder);
          ????????? }
          ???? ?}
          ???? ?
          ???
          ??? ??dojo.addOnLoad(function(){

          ????
          ??????? /* Add debug print for all controller events */
          ??????? var selector = dojo.widget.manager.getWidgetById('selector');
          ??????? //綁定消息的兩種方式。
          ??????? //dojo.event.topic.subscribe(selector.eventNames['select'],selectAction());
          ??????? dojo.event.topic.subscribe(selector.eventNames['select'],new selectClass(),'go');
          ???????
          ??????? //將上下文菜單和控制器進行綁頂。
          ??????? dojo.addOnLoad(function() { dojo.widget.TreeDemo.bindDemoMenu(dojo.widget.byId("controller")) });
          ???});
          ???
          ???//展開層次,注意回調接口。
          ???function testExpandToLevel(level) {
          ????var d = dojo.widget.byId('controller').expandToLevel(dojo.widget.byId('tree'),level);
          ????//dojo.widget.byId('treeController').expandToLevel(dojo.widget.byId('Item 1.3'),3)
          ????//d.addCallback(function() { alert('done') });
          ???}
          ???//添加新的節點
          ???function testCreate() {
          ????var d = dojo.widget.byId('controller').createChild(dojo.widget.byId('Item 1'),1,{title:'tttttttttttttttttttttttttttttttttttttttt'});??
          ????//d.addCallbacks(printOk, printErr);
          ???}
          ???
          ???//編輯節點。
          ???function testEdit() {
          ????dojo.widget.byId('controller').editLabelStart(dojo.widget.byId('Item 1'));
          ???}
          ??? ??
          ???//節點的contentClass可以改變標題內容。
          ???//TreeDocIconExtension:在每個項上加圖標。改變docIcon的class。

          ??? </script>
          ??? <style>
          ??????? .myCssClass {
          ???? ?font-family: Arial, Helvetica, sans-serif;
          ??????????? font-size: 18px;
          ??????? }
          ??? </style>
          ??? </head>
          ??? <body>
          ??????? <div dojoType="TreeEditor" widgetId="editor"></div>
          ???????
          ??????? <div dojoType="TreeDocIconExtension" widgetId="docIcons"></div>
          ??????? <div dojoType="TreeBasicControllerV3" widgetId="controller" editor="editor"></div>
          ???????
          ??????? <div dojoType="TreeSelectorV3" allowedMulti="false" widgetId="selector"></div>?
          ????<div dojoType="TreeEmphasizeOnSelect" selector="selector"></div>
          ????
          ????<div dojoType="TreeExpandToNodeOnSelect" selector="selector" controller="controller"></div>???
          ????<div dojoType="TreeToggleOnSelect" selector="selector" selectEvent="dblselect" controller="controller"></div>
          ????
          ????<div dojoType="TreeLinkExtension" widgetId="link" params="target:_blank"></div>?
          ???????
          ??????? <div dojoType="TreeDisableWrapExtension" widgetId="disableWrap"></div>
          ????
          ????<div dojoType="TreeDndControllerV3" controller="controller" widgetId="dndcontroller"></div>
          ????
          ??????? <div dojoType="TreeContextMenuV3" toggle="explode" contextMenuForWindow="false" widgetId="contextMenu">
          ?????<div dojoType="TreeMenuItemV3" treeActions="addChild" iconSrc="../images/createsmall.gif" widgetId="treeContextMenuCreate" caption="Create"></div>
          ?????<div dojoType="TreeMenuItemV3" treeActions="remove" iconSrc="../images/removesmall.gif" caption="Remove" widgetId="treeContextMenuDestroy"></div>
          ?????<div dojoType="TreeMenuItemV3" treeActions="move" iconSrc="../images/downsmall.png" caption="Up" widgetId="treeContextMenuUp"></div>
          ?????<div dojoType="TreeMenuItemV3" treeActions="move" iconSrc="../images/upsmall.png" caption="Down" widgetId="treeContextMenuDown"></div>
          ????</div>
          ???????
          ??????? <!-- 增加DND功能,在tree div中增加DndMode="between;onto" DndAcceptTypes="tree"-->
          ??????? <div dojoType="TreeV3" DndMode="between;onto" DndAcceptTypes="tree" listeners="controller;docIcons;selector;link;disableWrap;contextMenu;dndcontroller" widgetId="tree">
          ??????????? <div dojoType="TreeNodeV3" title="Item 1" object="href:http://news.sina.com.cn" widgetId="Item 1" contentClass="myCssClass">
          ??????????????? <div dojoType="TreeNodeV3" title="Item 1.1" widgetId="Item 1.1" contentClass="myCssClass"></div>
          ??????????????? <div dojoType="TreeNodeV3" title="Item 1.2" widgetId="Item 1.2" contentClass="myCssClass"></div>
          ??????????????? <div dojoType="TreeNodeV3" title="Item 1.3" widgetId="Item 1.3" contentClass="myCssClass">
          ??????????????????? <div dojoType="TreeNodeV3" title="Item 1.3.1" widgetId="Item 1.3.1" contentClass="myCssClass"></div>
          ??????????????????? <div dojoType="TreeNodeV3" title="Item 1.3.2" widgetId="Item 1.3.2" contentClass="myCssClass">
          ??????????????????????? <div dojoType="TreeNodeV3" title="Item 1.3.2.1" widgetId="Item 1.3.2.1" contentClass="myCssClass"></div>
          ??????????????????????? <div dojoType="TreeNodeV3" title="Item 1.3.3.2" widgetId="Item 1.3.3.2" contentClass="myCssClass">
          ??????????????????????????? <div dojoType="TreeNodeV3" title="Item 1.3.3.2.1" widgetId="Item 1.3.3.2.1" contentClass="myCssClass"></div>
          ??????????????????????? </div>
          ??????????????????? </div>
          ??????????????? </div>
          ??????????? </div>
          ??????????? <!-- node有actionsDisabled 屬性-->
          ??????????? <div dojoType="TreeNodeV3" actionsDisabled="MOVE" title="Can't move this node"></div>
          ??????????? <div dojoType="TreeNodeV3" actionsDisabled="ADDCHILD" title="Can't add child this node"></div>
          ??????? </div>
          ???????
          ???????
          ?????
          ???
          ???
          ???<div style="display:none">
          ????<!-- IE has a bug: it reloads all dynamically resolved images, no matter, is it
          ????new Image() or CSS background. If you don't specify images like that,
          ????it will reload them every time a node is expanded -->
          ????<img src="../../../src/widget/templates/images/TreeV3/i.gif">
          ????<img src="../../../src/widget/templates/images/TreeV3/i_half.gif">
          ????<img src="../../../src/widget/templates/images/TreeV3/expand_minus.gif">
          ????<img src="../../../src/widget/templates/images/TreeV3/expand_plus.gif">
          ????<img src="../../../src/widget/templates/images/TreeV3/expand_leaf.gif">
          ????<img src="../../../src/widget/templates/images/TreeV3/i_long.gif">
          ????<img src="../../../src/widget/templates/images/TreeV3/document.gif">
          ????<img src="../../../src/widget/templates/images/TreeV3/open.gif">
          ????<img src="../../../src/widget/templates/images/TreeV3/closed.gif">
          ???</div>?

          ???
          ???????
          ??????? <!-- 直接選擇一個節點,但是無法去掉已有的節點。 -->
          ??????? <input type="button" value="select Item 1" onClick="dojo.widget.byId('selector').select(dojo.widget.byId('Item 1'))"/>
          ??????? <input type="button" value="Expand to level 3" onClick="testExpandToLevel(100)"/>
          ??????? <input type="button" value="create new node" onClick="testCreate()"/>
          ??????? <input type="button" value="edit" onClick="testEdit()"/>
          ??? </body>
          </html>


          FeedBack:
          # re: dojo tree 代碼匯總,基本上功能都全[未登錄]
          2007-06-26 16:04 | jacky
          請問下如果我需要動態的控制actionsDisabled應該怎么寫?比如說我在最后一個節點下利用contextmenu新建一個節點,怎么去控制不讓這個新建的節點部可以使用contextmenu中的create功能?
          還有1個問題,如果說我要不止禁止掉1個功能,應該怎么使用actionsDisabled?  回復  更多評論
            
          # re: dojo tree 代碼匯總,基本上功能都全
          2008-03-27 08:49 | 通天塔
          也沒有說清楚DOJO的版本 ,我用的1.1 的跑步起來哦  回復  更多評論
            
          # re: dojo tree 代碼匯總,基本上功能都全
          2009-09-03 11:11 | AL
          請問

          //樹的節點做超級連接。
          //加div以及在節點寫object="href:http://...".
          dojo.require("dojo.widget.TreeLinkExtension");


          這一段我試過了為什么沒有作用呢。


          (一下是我的代碼)
          ********** jsp *************

          <%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
          <%@taglib prefix="s" uri="/struts-tags"%>
          <%@ taglib prefix="dojo" uri="/struts-dojo-tags"%>
          <%
          response.setHeader("Cache-Control", "no-cache");
          response.setHeader("Cache-Control", "no-store");
          response.setDateHeader("Expires", 0);
          response.setHeader("Pragma", "no-cache");
          %>
          <%@ include file="/include/check.jsp"%>
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html>
          <head>

          <title></title>

          <meta http-equiv="pragma" content="no-cache">
          <meta http-equiv="cache-control" content="no-cache">
          <meta http-equiv="expires" content="0">
          <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
          <meta http-equiv="description" content="This is my page">
          <!--
          <link rel="stylesheet" type="text/css" href="styles.css">
          -->
          <dojo:head />

          <script type="text/javascript">

          function treeNodeSelected(arg) {
          alert(arg.source.title + ' selected');
          }

          dojo.addOnLoad(function() {
          var t = dojo.widget.byId('memberAndUsers');

          var s = t.selector;
          dojo.event.connect(t, 'select', 'treeNodeSelected');
          });

          </script>
          </head>
          <body>
          <dojo:div cssStyle="border: 1px solid black; background-color:powderblue;padding-top:8px;padding-left:20px">


          <script type="text/javascript">
          /* <![CDATA[ */
          dojo.require("dojo.lang.*");
          dojo.require("dojo.widget.*");
          dojo.require("dojo.widget.Tree");
          dojo.require("dojo.widget.TreeRPCController");
          dojo.require("dojo.widget.TreeLinkExtension");
          dojo.require("dojo.widget.TreeSelector");
          /* ]]> */
          </script>
          <div dojoType="TreeRPCController" widgetId="treeController" DNDcontroller="create" RPCUrl="<s:url />"></div>
          <div dojoType="Tree" widgetId="memberAndUsers" toggle="fade" controller="treeController">
          <div dojoType="TreeNode" title='<s:property value="root.name" />'
          widgetId='<s:property value="root.id" />'
          isFolder='<s:property value="root.children.length > 0" />'
          objectId='<s:property value="root.id" />'>
          </div>
          </div>


          </dojo:div>
          </body>
          </html>


          ******** ftl *******

          [
          <#list wrappers as r>
          { "title": "${r.name}", "isFolder": <#if r.children?size gt 0>true<#else>false</#if>, "id": "${r.id}", "objectId": "${r.id?js_string}" }<#if r_has_next>,</#if>
          </#list>
          ]  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          <2007年6月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          常用鏈接

          留言簿(9)

          隨筆分類(31)

          隨筆檔案(75)

          文章分類(1)

          文章檔案(3)

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 郓城县| 恩平市| 北京市| 维西| 西丰县| 乐业县| 礼泉县| 西乌珠穆沁旗| 霍林郭勒市| 宁武县| 栖霞市| 铜山县| 东乌珠穆沁旗| 宝丰县| 来宾市| 义乌市| 五寨县| 瓮安县| 榆树市| 和田县| 南康市| 娄烦县| 连平县| 花莲市| 龙海市| 六枝特区| 东港市| 芜湖县| 桂林市| 瓮安县| 蓝田县| 襄汾县| 柳河县| 竹溪县| 临武县| 新化县| 原阳县| 枣阳市| 新蔡县| 高淳县| 界首市|