<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="AsyZTree.aspx.vb" Inherits="NhibernateWeb.AsyZTree" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <link rel="stylesheet" href="../js/ztree/css/demo.css" type="text/css" /> <link rel="stylesheet" href="../js/ztree/css/zTreeStyle/zTreeStyle.css" type="text/css" /> <script type="text/javascript" src="../Js/jquery-1.7.2.min.js"></script> <script type="text/javascript" src="../Js/ztree/js/jquery.ztree.all-3.2.js"></script> <script type="text/javascript"> var setting = { data: { key: { name: "Names" }, simpleData: { idKey: "ID", pIdKey: "PID", enable: true } }, view: { selectedMulti: false }, async: { enable: true, url:"ztreedata.ashx?Time="+Math.random(), autoParam:["ID", "Names=n", "level=lv"], otherParam:{"otherParam":"zTreeAsyncTest"} }, callback: { beforeClick: beforeClick, beforeAsync: beforeAsync, onAsyncError: onAsyncError, onAsyncSuccess: onAsyncSuccess } }; function filter(treeId, parentNode, childNodes) { if (!childNodes) return null; for (var i=0, l=childNodes.length; i<l; i++) { childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.'); } return childNodes; } function beforeClick(treeId, treeNode) { if (!treeNode.isParent) { alert("请选择父节点"); return false; } else { return true; } } var log, className = "dark"; function beforeAsync(treeId, treeNode) { className = (className === "dark" ? "":"dark"); showLog("[ "+getTime()+" beforeAsync ] " + ((!!treeNode && !!treeNode.name) ? treeNode.name : "root") ); return true; } function onAsyncError(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) { showLog("[ "+getTime()+" onAsyncError ] " + ((!!treeNode && !!treeNode.name) ? treeNode.name : "root") ); } function onAsyncSuccess(event, treeId, treeNode, msg) { showLog("[ "+getTime()+" onAsyncSuccess ] " + ((!!treeNode && !!treeNode.name) ? treeNode.name : "root") ); } function showLog(str) { if (!log) log = $("#log"); log.append("<li class='"+className+"'>"+str+"</li>"); if(log.children("li").length > 8) { log.get(0).removeChild(log.children("li")[0]); } } function getTime() { var now= new Date(), h=now.getHours(), m=now.getMinutes(), s=now.getSeconds(), ms=now.getMilliseconds(); return (h+":"+m+":"+s+ " " +ms); } function refreshNode(e) { var zTree = $.fn.zTree.getZTreeObj("treeDemo"), type = e.data.type, silent = e.data.silent, nodes = zTree.getSelectedNodes(); if (nodes.length == 0) { alert("请先选择一个父节点"); } for (var i=0, l=nodes.length; i<l; i++) { zTree.reAsyncChildNodes(nodes[i], type, silent); if (!silent) zTree.selectNode(nodes[i]); } } $(document).ready(function(){ $.fn.zTree.init($("#treeDemo"), setting); $("#refreshNode").bind("click", {type:"refresh", silent:false}, refreshNode); $("#refreshNodeSilent").bind("click", {type:"refresh", silent:true}, refreshNode); $("#addNode").bind("click", {type:"add", silent:false}, refreshNode); $("#addNodeSilent").bind("click", {type:"add", silent:true}, refreshNode); $("#refreshAll").click(function() { var zTree = $.fn.zTree.getZTreeObj("treeDemo"); zTree.reAsyncChildNodes(null, "refresh"); }); }); </script> </head> <body> <form id="form1" runat="server"> <div class="zTreeDemoBackground left" style="height:1500px;float:left;"> <ul id="treeDemo" class="ztree"></ul> <asp:Label ID="Label1" runat="server" Text=""></asp:Label> </div> <div> <input id="refreshNode" type="button" value="重新加载" /> <input id="addNode" type="button" value="追加" /> <input id="refreshNodeSilent" type="button" value="悄悄地 重新加载" /> <input id="addNodeSilent" type="button" value="悄悄地 追加" /> <input id="refreshAll" type="button" value="全部重新加载" /> </div> </form> </body> </html>