treegrid树形表格的完美运⽤⼀问题描述:
树形表格TreeGrid在⽇常项⽬中还是运⽤的⽐较多的,哪我们在项⽬中,应该怎么引⼊和使⽤TreeGrid呢?
⼆使⽤步骤
1.⾸先我们需要在项⽬中,引⼊TreeGrid组件需要引⼊的⽂件
<!-- 引⼊treegrid-->
<link rel="stylesheet" th:href="@{/static/js/plugins/id.min.css}">
<script type="text/javascript" th:src="@{/static/js/plugins/bootstrap-table-treegrid/bootstrap-table-treegrid.js}"></script>
<script type="text/javascript" th:src="@{/static/js/plugins/id.min.js}"></script>
2. 需要在页⾯定义⼀个容器
<div>
<div>
<h1></h1>
<table id="menuTable"></table>
<br/>
</div>
</div>
3. JS代码加载数据
1var menus = [[${menus}]]; //后台传递的过来的数据
2var $table = $('#menuTable');
3// '[{"id":1,"pid":0,"name":"⽤户管理",url:'',icon:'',"permission":{}},' +
4 $(function() {
5//加载树形表格
6 $table.bootstrapTable({
7 data:menus,
8 idField: 'id',
9 dataType:'jsonp',
10 columns: [
11 { field: 'check', checkbox: true, formatter: function (value, row, index) {
12if (row.check == true) {
13// console.log(row.serverName);
14//设置选中
15return { checked: true };
16 }
17 }
18 },
19 { field: 'name', title: '名称' },
20 { field: 'url', title: '路径' },
21 { field: 'icon', title: '图标' },
22// {field: 'id', title: '编号', sortable: true, align: 'center'},
23 {field: 'pid', title: '所属上级',formatter:'pidFormatter'},
24 { field: 'permission', title: '权限值', sortable: true, align: 'center', formatter: 'permissionFormatter' },
25 { field: 'operate', title: '操作', align: 'center', events : operateEvents, formatter: 'operateFormatter' },
26 ],
30//在哪⼀列展开树形
31 treeShowField: 'name',
32//指定⽗id列
33 parentIdField: 'pid',
35 onResetView: function(data) {
36//console.log('load');
37 $id({
38 initialState: 'collapsed',// 所有节点都折叠
39// initialState: 'expanded',// 所有节点都展开,默认展开
40 treeColumn: 1,
41 expanderExpandedClass: 'mdi mdi-minus', //图标样式
42 expanderCollapsedClass: 'mdi mdi-plus',
43 onChange: function() {
44 $table.bootstrapTable('resetWidth');
45 }
46 });
48//只展开树形的第⼀级节点
49 $id('getRootNodes').treegrid('expand');
51 },
52 onCheck:function(row){
53var datas = $table.bootstrapTable('getData');
54// 勾选⼦类
55 selectChilds(datas,row,"id","pid",true);
56
57// 勾选⽗类
58 selectParentChecked(datas,row,"id","pid")
59
60// 刷新数据
61 $table.bootstrapTable('load', datas);
62 },
63
64 onUncheck:function(row){
65var datas = $table.bootstrapTable('getData');
66 selectChilds(datas,row,"id","pid",false);
bootstrap项目67 $table.bootstrapTable('load', datas);
68 }
70 });
4 最终效果
5 最后实践
赶快⾏动起来测试⼀下吧,需要源码的,可以联系我
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论