zoukankan      html  css  js  c++  java
  • Z-Tree用法

    今天同事给我介绍了一个Z-Tree。之前树都是自己写,样式很一般,出树后对树进行操作代码量也很大。通过同事介绍的这个Z-Tree

    仔细研究了一下,发现还可以,用着挺方便的,自己写了个demo进行测试,很完美

    下面我就对自己写的demo进行一下演示讲解:

    原文地址:http://www.cnblogs.com/sixiangqimeng/p/3344024.html               

    首先介绍一下Z-Tree的源文件采用的是3.5.14版本,里面包括四个文件夹(第一个帮助文档,用来查看树里面的一些方法。第二个和第四个是我们用到的css和js。第三个是示例)

          

    我们主要从第三个入手(示例里面包括中文版(cn)和英文版(en)),我们打开cn。我想大家一看目录就知道要打开哪个了吧。打开index

    打开后如下图:这个图左面是不同的树类型,右面是树的效果。左面有各种各样的树可以选择,如果选择好用哪种,就找到右面的文件路径例如(core/noline.html)这里就是源码。

      我们打开源码

    <!DOCTYPE html>
    <HTML>
    <HEAD>
        <TITLE> ZTREE DEMO - noIcon </TITLE>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <link rel="stylesheet" href="../../../css/demo.css" type="text/css">
        <link rel="stylesheet" href="../../../css/zTreeStyle/zTreeStyle.css" type="text/css">
        <script type="text/javascript" src="../../../js/jquery-1.4.4.min.js"></script>
        <script type="text/javascript" src="../../../js/jquery.ztree.core-3.5.js"></script>
        <!--  <script type="text/javascript" src="../../../js/jquery.ztree.excheck-3.5.js"></script>
          <script type="text/javascript" src="../../../js/jquery.ztree.exedit-3.5.js"></script>-->
        <SCRIPT type="text/javascript">
            <!--
            var setting = {
                view: {
                    showIcon: showIconForTree
                },
                data: {
                    simpleData: {
                        enable: true
                    }
                }
            };
    
            var zNodes =[
                { id:1, pId:0, name:"父节点1 - 展开", open:true},
                { id:11, pId:1, name:"父节点11 - 折叠"},
                { id:111, pId:11, name:"叶子节点111"},
                { id:112, pId:11, name:"叶子节点112"},
                { id:113, pId:11, name:"叶子节点113"},
                { id:114, pId:11, name:"叶子节点114"},
                { id:12, pId:1, name:"父节点12 - 折叠"},
                { id:121, pId:12, name:"叶子节点121"},
                { id:122, pId:12, name:"叶子节点122"},
                { id:123, pId:12, name:"叶子节点123"},
                { id:124, pId:12, name:"叶子节点124"},
                { id:13, pId:1, name:"父节点13 - 没有子节点", isParent:true},
                { id:2, pId:0, name:"父节点2 - 折叠"},
                { id:21, pId:2, name:"父节点21 - 展开", open:true},
                { id:211, pId:21, name:"叶子节点211"},
                { id:212, pId:21, name:"叶子节点212"},
                { id:213, pId:21, name:"叶子节点213"},
                { id:214, pId:21, name:"叶子节点214"},
                { id:22, pId:2, name:"父节点22 - 折叠"},
                { id:221, pId:22, name:"叶子节点221"},
                { id:222, pId:22, name:"叶子节点222"},
                { id:223, pId:22, name:"叶子节点223"},
                { id:224, pId:22, name:"叶子节点224"},
                { id:23, pId:2, name:"父节点23 - 折叠"},
                { id:231, pId:23, name:"叶子节点231"},
                { id:232, pId:23, name:"叶子节点232"},
                { id:233, pId:23, name:"叶子节点233"},
                { id:234, pId:23, name:"叶子节点234"},
                { id:3, pId:0, name:"父节点3 - 没有子节点", isParent:true}
            ];
    
            function showIconForTree(treeId, treeNode) {
                return !treeNode.isParent;
            };
    
            $(document).ready(function(){
                $.fn.zTree.init($("#treeDemo"), setting, zNodes);
            });
            //-->
        </SCRIPT>
    
    </HEAD>
    
    <BODY>
    <h1>不显示节点图标的树</h1>
    <h6>[ 文件路径: core/noicon.html ]</h6>
    <div class="content_wrap">
        <div class="zTreeDemoBackground left">
            <ul id="treeDemo" class="ztree"></ul>
        </div>
        <div class="right">
            <ul class="info">
                <li class="title"><h2>1、setting 配置信息说明</h2>
                    <ul class="list">
                    <li>此 Demo 利用 Function 设置了使父节点不显示图标的规则</li>
                    <li class="highlight_red">是否显示节点图标请设置 setting.view.showIcon 属性,详细请参见 API 文档中的相关内容</li>
                    </ul>
                </li>
                <li class="title"><h2>2、treeNode 节点数据说明</h2>
                    <ul class="list">
                    <li>是否显示图标,不需要 treeNode 节点数据提供特殊设置,但如果用户需要根据不同节点动态设置,可以对节点数据增加特殊属性,用于判别</li>
                    </ul>
                </li>
            </ul>
        </div>
    </div>
    </BODY>
    </HTML>
    View Code

    下面我将用代码举例完成一棵树

    原文地址:http://www.cnblogs.com/sixiangqimeng/p/3344024.html      
    根据我的业务需求,我要出一颗所有知识点的树,这段代码是从数据库取数据(访问数据库代码就不写了,这是根据我的业务逻辑写的)后赋值给一个方法,把数据序列号成json数据返回到前台

      public ActionResult GetKpMenu()
            {
                string quesBankID = Session["CurUser"] == null ? "" : (Session["CurUser"] as CurUser).QuesBankID.ToString();
                string strJson = "[";
                DataTable dt = new QuesInformation().GetKpMenu(quesBankID, "1");
                if (dt.Rows.Count > 0)
                {
                    new MenuInfo().GetKpMenu(dt, "0", ref strJson);
                }
                strJson += "]";
                return Content(strJson);
            }
    View Code
      /// <summary>
            /// 知识点DataTable转换为Json树
            /// </summary>
            /// <param name="dt">知识点</param>
            /// <param name="parentId">父节点ID(默为:0)</param>
            /// <param name="_strJsonTME">ref传入,返回json字符串</param>
            public void GetKpMenu(DataTable dt, string parentId, ref string _strJsonTME)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    if (dt.Rows[i]["ParentNodeID"].ToString() == parentId)
                    {
                        _strJsonTME += "{"name":"" + dt.Rows[i]["NodeTitle"].ToString() + "","id":"" + dt.Rows[i]["KpNodeID"] + """;
                        if (Convert.ToBoolean(dt.Rows[i]["HasChild"]))
                        {
                            _strJsonTME += ","children":[";
                            string KpNodeID = dt.Rows[i]["KpNodeID"].ToString();
                            GetKpMenu(dt, KpNodeID, ref _strJsonTME);
                            _strJsonTME += "]},";
                        }
                        else
                        {
                            _strJsonTME += "},";
                        }
                    }
                    if (i == dt.Rows.Count - 1)
                    {
                        _strJsonTME = _strJsonTME.Trim(',');
                    }
                }
            }
    View Code

    由此即可出来一颗树如图:

    原文地址:http://www.cnblogs.com/sixiangqimeng/p/3344024.html    

  • 相关阅读:
    [机器学习实战]K-近邻算法
    [机器学习Lesson3] 梯度下降算法
    [机器学习Lesson 2]代价函数之线性回归算法
    [机器学习Lesson 1] 机器学习简介
    Flume
    Kafka基础入门
    打造MacOS版“XShell”
    你好,智哥(摘自微信公众号“野兔故事会”)
    打印小册子
    php--strlen()与mb_strlen的作用与区别
  • 原文地址:https://www.cnblogs.com/sixiangqimeng/p/3344024.html
Copyright © 2011-2022 走看看