bootstrap-treeview简单使用

废话不多说,直接上干干货。

1、bootstrap-treeview Github网址:https://github.com/jonmiles/bootstrap-treeview

2、使用要求:

<!-- 样式表 -->
<link href="~/Content/bootstrap.css" rel="stylesheet" />
<link href="~/bootstrap-treeview.css" rel="stylesheet" />

<!-- JS文件 -->
<script src="jquery.js"></script>
<script src="bootstrap-treeview.js"></script>

3、数据格式:(注意了,使用过程中,树的数据格式可以Json格式,也可以写死,当然写死的代码肯定不灵活。Json格式的字段名一定要按照tree的字段要求,即文本格式text,子节点名称nodes等)

var tree = [
  {
    text: "Parent 1",
    nodes: [
      {
        text: "Child 1",
        nodes: [
          {
            text: "Grandchild 1"
          },
          {
            text: "Grandchild 2"
          }
        ]
      },
      {
        text: "Child 2"
      }
    ]
  },
  {
    text: "Parent 2"
  },
  {
    text: "Parent 3"
  },
  {
    text: "Parent 4"
  },
  {
    text: "Parent 5"
  }
];

4、简单使用:

  4.1 添加容器:

<div id="tree"></div>

  4.2 定义树结构:(data为Json格式数据,这里采用ajax,从后台获取,代码如下)

<script>
    $(function () {
        $.ajax({
            type: "Post",
            url: "/Home/GetTreeJson",
            dataType: "json",
            success: function (result) {
                $(‘#tree‘).treeview({
                    data: result,         // 数据源
                    showCheckbox: true,   //是否显示复选框
                    highlightSelected: true,    //是否高亮选中
                    //nodeIcon: ‘glyphicon glyphicon-user‘,    //节点上的图标
                    nodeIcon: ‘glyphicon glyphicon-globe‘,
                    emptyIcon: ‘‘,    //没有子节点的节点图标
                    multiSelect: false,    //多选
                    onNodeChecked: function (event,data) {
                        alert(data.nodeId);
                    },
                    onNodeSelected: function (event, data) {
                        alert(data.nodeId);
                    }
                });
            },
            error: function () {
                alert("树形结构加载失败!")
            }
        });
    })
</script>

注:onNodeChecked 和 onNodeSelected 方法是说明文档中默认的方法,还有其他的方法,自己自己查阅说明文档,或者查看 bootstrap-treeview.js 文件,未压缩的js文件内容非常详细,易懂。

  4.3 Json格式数据源:(采用.net MVC框架,列出简单的Control代码)

        /// <summary>
        /// 返回Json格式数据
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        public JsonResult GetTreeJson()
        {
            var nodeA = new List<Node>();
            nodeA.Add(new Node(4, "A01", null));
            nodeA.Add(new Node(5, "A02", null));
            nodeA.Add(new Node(6, "A03", null));

            var nodeB = new List<Node>();
            nodeB.Add(new Node(7, "B07", null));
            nodeB.Add(new Node(8, "B08", null));
            nodeB.Add(new Node(9, "B09", null));

            var nodes = new List<Node>();
            nodes.Add(new Node(1, "A01", nodeA));
            nodes.Add(new Node(2, "B02", nodeB));
            nodes.Add(new Node(3, "A03", null));
            return Json(nodes, JsonRequestBehavior.AllowGet);
        }
        /// <summary>
        /// Tree类
        /// </summary>
        public class Node
        {
            public Node() { }
            public Node(int id, string str, List<Node> node)
            {
                nodeId = id;
                text = str;
                nodes = node;
            }
            public int nodeId;    //树的节点Id,区别于数据库中保存的数据Id。若要存储数据库数据的Id,添加新的Id属性;若想为节点设置路径,类中添加Path属性
            public string text;   //节点名称
            public List<Node> nodes;    //子节点,可以用递归的方法读取,方法在下一章会总结
        }

5、总结:

简单的创建了树,复杂的功能以及逻辑判断还需要进一步设计,自己阅读bootstrap-treeview.js 还是很有启发和发现的0-0,。

本人毕业刚开始工作,如有不当和不规范的地方,还请指正!

时间: 2024-11-17 03:48:02

bootstrap-treeview简单使用的相关文章

Bootstrap css简单使用

http://www.bootcss.com/ 这是中文官网 这里简单的用一下基本的css: 引用基本样式: <link href="css/bootstrap.min.css" rel="stylesheet" type="text/css" /> <td style="width: 60%;"> <a class="btn btn-info" href="java

bootstrap treeview 介绍

简要教程 bootstrap-treeview是一款效果非常酷的基于bootstrap的jQuery多级列表树插件.该jQuery插件基于Twitter Bootstrap,以简单和优雅的方式来显示一些继承树结构,如视图树.列表树等等. 插件依赖 Bootstrap v3.0.3 jQuery v2.0.3 以上两个外部依赖文件已经经过测试可以正常使用,其他版本的Bootstrap需要另行测试.该插件不支持bootstrap 2. 使用方法 首先要在页面中引入依赖文件和 bootstrap-tr

(新手向)基于Bootstrap的简单轮播图的手机实现

个人电脑里存了不少适合手机欣赏的图片,但是放手机里看是件很占据资源的事.鉴于家里有一台电脑经常开着,正好用来做家庭局域网共享,于是笔者就设想通过一种比较简单环保的思路.通过手机访问电脑内的图片. 首先是本地站点搭建:win+R输入mmc打开控制台,文件-添加/删除管理单元,Internet信息服务.添加确定,右侧基本信息,新建网站-把路径改了.设定一个端口号,手机浏览器就可以输入  电脑局域网ip:端口号 就可以连上去了. 接下来问题来了,一个个点击查看然后关闭图片是一件更不环保的事.何不做一个

JFinal与bootstrap实现简单的增删改功能

本示例是在idea下实现的. 1.新建一个项目jfinal-demo 2.将必要的jar包拷贝到lib下面(WEB-INF下没有lib目录,自己新建一个lib目录即可): 3.新建一个包,包名可以自己取,com.demo;然后在这个包下面新建一个DemoConfig类,在类中添加如下代码 package com.demo; import com.demo.controller.IndexController; import com.demo.controller.UserController;

HTML5 -- 网页框架bootstrap的简单使用

直接百度bootstrap可以搜到bootstrap中文网站,然后最好建议选择下载源码. 下载完成后,将dist/css/bootstrap.min.css复制到项目的根目录下. 具体的模块介绍和使用在中文网站上都有讲述,这里以制作的一个简单示例为例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>使用bootSt

BootStrap实现简单响应式导航菜单

用BootStrap实现响应式导航栏,我会对其中的一些样式进行说明.   先上代码,是一个很简单的Demo. <!doctype html> <html> <head> <head> <meta charset = "utf-8"/> <meta name = "viewport" content = "width-device=width,initial = 1.0"/>

TreeView简单的动态加载数据

简单的小记录,省得去看控件属性详情了,基本常用的属于就几个 先是判断根节点是否存在控件中,如果不存在则创建,之前要添加了节点同样的方法 把根节点传到子节点的方法中,再判断是否在根节点里存在子节点,如果不存在则创建, 最后利用控件的双击事件获取当前选中的节点的内容. 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using Syste

自己写的基于bootstrap的简单分页插件

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css&quo

C#WinForm treeview 简单文件夹管理器 查看文件夹下的文件,子文件下的文件

1 查看的文件夹中的内容 2 UI 3 代码 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.IO; 7 using System.Linq; 8 using System.Text; 9 using System.Threading.Tasks; 10 usi

Bootstrap treeview 添加滚动条后 搜索完成滚动条自动移动到对应位置

$('#' + treeDivId).on('searchComplete',function(event, data) { if( isEmpty(data)){ return; } //如果查找到的位置数据超出当前范围滚动条直接滚动到搜索结果中的第一条数据的位置 var nodeId = data[0].nodeId; var firstSearchResult = $('#'+treeDivId).find('ul').find('li[data-nodeid='+ nodeId +']'