treegrid樹形表格的完美運用


一 問題描述:

樹形表格TreeGrid在日常項目中還是運用的比較多的,哪我們在項目中,應該怎么引入和使用

TreeGrid呢?

二 使用步驟

  1.首先我們需要在項目中,引入TreeGrid組件  需要引入的文件

   <!-- 引入treegrid-->
    <link rel="stylesheet" th:href="@{/static/js/plugins/bootstrap-table-treegrid/jquery.treegrid.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/bootstrap-table-treegrid/jquery.treegrid.min.js}"></script>

 2. 需要在頁面定義一個容器

 <div>
     <div>
        <h1></h1>
           <table id="menuTable"></table>
          <br/>
      </div>
</div>

 3. JS代碼加載數據

 1  var menus =   [[${menus}]]; //后台傳遞的過來的數據
 2  var $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) {
12                         if (row.check == true) {
13                             // console.log(row.serverName);
14                             //設置選中
15                             return {  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                 $table.treegrid({
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                 $table.treegrid('getRootNodes').treegrid('expand');
51             },
52             onCheck:function(row){
53                 var 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){
65                 var datas = $table.bootstrapTable('getData');
66                 selectChilds(datas,row,"id","pid",false);
67                 $table.bootstrapTable('load', datas);
68             }
70         });

 4 最終效果

 

 

5 最后實踐

  趕快行動起來 測試一下吧,需要源碼的 ,可以聯系我

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM