bootstraptable+treegrid实现树状表格

 1.首先引入相关的文件:

<script src="https://cdn.bootcss.com/bootstrap-table/1.12.1/bootstrap-table.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap-table/1.12.0/extensions/treegrid/bootstrap-table-treegrid.js"></script>
<script src="https://cdn.bootcss.com/jquery-treegrid/0.2.0/js/jquery.treegrid.min.js"></script>

2.在table中设置树状表的参数

$(function () {
    var $table = $("#tb_zph");
    $table.bootstrapTable({
        url:'../menu/getMenu',
        method: 'post',                      //请求方式(*)
        toolbar: '#toolbar',                //工具按钮用哪个容器
        striped: true,                      //是否显示行间隔色
        cache: false,                       //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
        //pagination: true,                   //是否显示分页(*)
        sortable: true,                     //是否启用排序
        sortOrder: "asc",                   //排序方式
        //queryParams: oTableInit.queryParams,//传递参数(*)
        //sidePagination: "client",           //分页方式:client客户端分页,server服务端分页(*)
        pageNumber:1,                       //初始化加载第一页,默认第一页
        pageSize: 10,                       //每页的记录行数(*)
        pageList: [5,10, 25, 50, 100],        //可供选择的每页的行数(*)
        //search: true,                       //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
        //strictSearch: true,
        showColumns: true,                  //是否显示所有的列
        showRefresh: true,                  //是否显示刷新按钮
        minimumCountColumns: 2,             //最少允许的列数
        clickToSelect: true,                //是否启用点击选中行
        //height: 500,                        //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
        uniqueId: "id",                     //每一行的唯一标识,一般为主键列
        //showToggle:true,                    //是否显示详细视图和列表视图的切换按钮
        cardView: false,                    //是否显示详细视图
        //detailView: true,                   //是否显示父子表
        showExport: true,                     //是否显示导出
        exportDataType: "basic",              //basic', 'all', 'selected'.
        idField:'id',
        columns:[
            {
                radio: true
            },{
                field:'name',
                title:'名称'
            },{
                field:'token',
                title:'权限标识'
            },{
                field:'level',
                title:'菜单层级',
                formatter: 'typeFormatter'
            }
        ],
        // 设置树状表格参数
        treeShowField: 'name',
        parentIdField: 'pId',
        onLoadSuccess: function(data) {
        	//console.log(data);
            $table.treegrid({
                initialState: 'expanded',//展开
                treeColumn: 1,//指明第几列数据改为树形
                expanderExpandedClass: 'glyphicon glyphicon-triangle-bottom',
                expanderCollapsedClass: 'glyphicon glyphicon-triangle-right',
                onChange: function() {
                    $table.bootstrapTable('resetWidth');
                }
            });
        }
    });
})

3.后台

	/***
	 * 树结构
	 * @return
	 */
	@RequestMapping("getMenu")
	@ResponseBody
	public List<Node> getTree(){
		
		List<Node> nodeList = roleService.getTree();		
		return nodeList;
		
	}

Node类:

package com.learning.www.entity;

import com.fasterxml.jackson.annotation.JsonProperty;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Node {
	 
	// 节点id
	private Integer id;
	// 父节点id
	@JsonProperty
	private Integer pId;
	// 节点名称
	private String name;
	// 需要自定义图片时,使用该属性
	private String iconSkin;
	// 需要自定义图片时,使用该属性
	private String token;
	// 通过该属性,设置图片
	private Integer level;
	// 当需要设置某个节点被选中的时候,通过该属性定义
	private Boolean checked;
}

效果:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rm-r

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值