bootstrap-table+treegrid实现树形表格

bootstrap-table+treegrid实现树形表格?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

京口网站建设公司创新互联,京口网站设计制作,有大型网站制作公司丰富经验。已为京口上1000家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的京口做网站的公司定做!

1、引入 jquery.js、bootstrap-table.js、bootstrap-table-treegrid.js、jquery.treegrid.js 以及相应的 css 文件:bootstrap.css、bootstrap-table.css、jquery.treegrid.css;
2、后台传到前台的 json 必须含有 id、pid字段,有 id pid 才能形成树结构(这里为了演示,把 json 写成固定的了,实际中要从后台获取);
3、在使用过程中可以参考 bootstrap-table 的设置参数,通过不同的设置以达到自己想要的效果;

完整代码示例:





 
 
 
 
 
 
 
 系统管理
 
 
 




 

树形表格 : Table Treegrid

   
 选择
 var $table = $('#table');  var data = JSON.parse(  '[{"id":1,"pid":0,"status":1,"name":"用户管理","permissionValue":"open:user:manage"},' +  '{"id":2,"pid":0,"status":1,"name":"系统管理","permissionValue":"open:system:manage"},' +  '{"id":3,"pid":1,"status":1,"name":"新增用户","permissionValue":"open:user:add"},' +  '{"id":4,"pid":1,"status":1,"name":"修改用户","permissionValue":"open:user:edit"},' +  '{"id":5,"pid":1,"status":0,"name":"删除用户","permissionValue":"open:user:del"},' +  '{"id":6,"pid":2,"status":1,"name":"系统配置管理","permissionValue":"open:systemconfig:manage"},' +  '{"id":7,"pid":6,"status":1,"name":"新增配置","permissionValue":"open:systemconfig:add"},' +  '{"id":8,"pid":6,"status":1,"name":"修改配置","permissionValue":"open:systemconfig:edit"},' +  '{"id":9,"pid":6,"status":0,"name":"删除配置","permissionValue":"open:systemconfig:del"},' +  '{"id":10,"pid":2,"status":1,"name":"系统日志管理","permissionValue":"open:log:manage"},' +  '{"id":11,"pid":10,"status":1,"name":"新增日志","permissionValue":"open:log:add"},' +  '{"id":12,"pid":10,"status":1,"name":"修改日志","permissionValue":"open:log:edit"},' +  '{"id":13,"pid":10,"status":0,"name":"删除日志","permissionValue":"open:log:del"}]');  $(function() {  //控制台输出一下数据  console.log(data);  $table.bootstrapTable({  data:data,  idField: 'id',  dataType:'jsonp',  columns: [  { field: 'check', checkbox: true, formatter: function (value, row, index) {   if (row.check == true) {   // console.log(row.serverName);   //设置选中   return { checked: true };   }   }  },  { field: 'name', title: '名称' },  // {field: 'id', title: '编号', sortable: true, align: 'center'},  // {field: 'pid', title: '所属上级'},  { field: 'status', title: '状态', sortable: true, align: 'center', formatter: 'statusFormatter' },  { field: 'permissionValue', title: '权限值' },  { field: 'operate', title: '操作', align: 'center', events : operateEvents, formatter: 'operateFormatter' },  ],  // bootstrap-table-treegrid.js 插件配置 -- start  //在哪一列展开树形  treeShowField: 'name',  //指定父id列  parentIdField: 'pid',  onResetView: function(data) {  //console.log('load');  $table.treegrid({   initialState: 'collapsed',// 所有节点都折叠   // initialState: 'expanded',// 所有节点都展开,默认展开   treeColumn: 1,   // expanderExpandedClass: 'glyphicon glyphicon-minus', //图标样式   // expanderCollapsedClass: 'glyphicon glyphicon-plus',   onChange: function() {   $table.bootstrapTable('resetWidth');   }  });  //只展开树形的第一级节点  $table.treegrid('getRootNodes').treegrid('expand');  },  onCheck:function(row){  var datas = $table.bootstrapTable('getData');  // 勾选子类  selectChilds(datas,row,"id","pid",true);  // 勾选父类  selectParentChecked(datas,row,"id","pid")  // 刷新数据  $table.bootstrapTable('load', datas);  },  onUncheck:function(row){  var datas = $table.bootstrapTable('getData');  selectChilds(datas,row,"id","pid",false);  $table.bootstrapTable('load', datas);  },  // bootstrap-table-treetreegrid.js 插件配置 -- end  });  });  // 格式化按钮  function operateFormatter(value, row, index) {  return [  ' 新增',  ' 修改',  ' 删除'  ].join('');  }  // 格式化类型  function typeFormatter(value, row, index) {  if (value === 'menu') { return '菜单'; }  if (value === 'button') { return '按钮'; }  if (value === 'api') { return '接口'; }  return '-';  }  // 格式化状态  function statusFormatter(value, row, index) {  if (value === 1) {  return '正常';  } else {  return '锁定';  }  }  //初始化操作按钮的方法  window.operateEvents = {  'click .RoleOfadd': function (e, value, row, index) {  add(row.id);  },  'click .RoleOfdelete': function (e, value, row, index) {  del(row.id);  },  'click .RoleOfedit': function (e, value, row, index) {  update(row.id);  }  };

关于bootstrap-table+treegrid实现树形表格问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


当前文章:bootstrap-table+treegrid实现树形表格
URL链接:http://ybzwz.com/article/jedhjg.html

其他资讯