1、引入相关的css和js

<link type="text/css" href="/components/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<link type="text/css" href="/components/bootstrap-table/1.11.1/dist/bootstrap-table.min.css" rel="stylesheet" />
<script type="text/javascript" src="/components/bootstrap-table/1.11.1/dist/bootstrap-table.min.js"></script>
<script type="text/javascript" src="/components/bootstrap/3.3.7/css/bootstrap.min.js"></script>
<script type="text/javascript" src="/components/bootstrap-table/1.11.1/dist/bootstrap-table.min.js"></script>
<script type="text/javascript" src="components/bootstrap-table/1.11.1/dist/bootstrap-table-zh-CN.js"></script>

2、写table表格并加入数据

<table id="tablewrap1" data-toggle="table" data-locale="zh-CN"
data-ajax="ajaxRequest" data-icon-size="sm" data-single-select="false"
data-click-to-select="true" data-side-pagination="server"
data-striped="true" data-pagination="true"
data-maintain-selected="true" data-detail-view="true"
class="fline-show-when-ready table" >
<thead>
<tr>
<!--<th data-field="state1" data-checkbox="true"></th>-->
<th data-field="field">名称</th>
<th data-field="fieldName">中文名称</th>
<th data-field="identifier">标识符</th>
<th data-field="affiliatedName">单位</th>
<th data-field="typeName">分类</th>
<th data-field="state1" data-checkbox="true"></th>
</tr>
</thead>
</table>
data-detail-view="true" 显示前面的+号
3、js初始化
function ajaxRequest(params) {
var pageSize = params.data.limit;
var pageNum = params.data.offset / pageSize + 1;
index = params.data.offset + 1;
var sort = params.data.sort ? params.data.sort : "id";
var order = params.data.order ? params.data.order : "desc";
var datas;
var dataElements;
var affiliatedVal=$("#searchOrg option:selected").val()
var dataStr ='&pageNum=' + pageNum + '&pageSize=' + pageSize;
var count;
$.ajax({
type : 'get',
url : 'url地址',
dataType : 'json',
async : false,
data : {'pageNum':pageNum,
'pageSize':pageSize,
},
success : function(data) {
var count = data.count, dataElements = data.data;
params.success({
total : count,
rows : dataElements
}); }
});
}

4、加入子表格

$("#tablewrap1").on('expand-row.bs.table', function (e, index, row, $detail) {
InitSubTable(index, row, $detail);
})
/*
expand-row.bs.table 里面的三个主要的参数
index:父表当前行的行索引。
row:父表当前行的Json数据对象。
$detail:当前行下面创建的新行里面的td对象。
第三个参数尤其重要,因为生成的子表的table在装载在$detail对象里面的。bootstrap table为我们生成了$detail这个对象,然后我们只需要往它里面填充我们想要的table即可。
*/
InitSubTable = function (index, row, $detail) {
var cur_table = $detail.html('<table class="subTable"></table>').find("table");
$(cur_table).bootstrapTable({
url: 'url地址',
method: 'get',
clickToSelect: true,
sidePagination : 'server',
queryParams: function (params) { //url携带的参数
var temp = {
"dataElements": row.identifier, }
return temp
},
columns: [
{
field: 'field',
title: '名称'
},
{
field: 'fieldName',
title: '中文名称'
},
{
field: 'dataElementID',
title: '标识符'
},
{
field: 'identifier',
title: '部门'
},
{
field: 'typeName',
title: '分类'
},
{
field: 'dataFormat',
title: '数据格式'
},
{
field: 'state',
title: '同步',
checkbox: true
}],
responseHandler: function(res) { // url返回的数据,修改为rows和total的格式,不能为其他格式
var data = '';
data = {
rows: res.data,
total: res.data.length
}
return data;
}
});
};

5、最终的效果图

6、注:

  3和4是两种不同的方式写表格,都可以达到目的

  如果显示一直在加载中或者有数据但是没有加载出来, 则可能是0sidePagination分页方式没有设置

bootstrap-table 实现父子表的更多相关文章

  1. JS组件系列——表格组件神器:bootstrap table(二:父子表和行列调序)

    前言:上篇 JS组件系列——表格组件神器:bootstrap table 简单介绍了下Bootstrap Table的基础用法,没想到讨论还挺热烈的.有园友在评论中提到了父子表的用法,今天就结合Boo ...

  2. bootstrap table 父子表实现【无限级】菜单管理功能

    bootstrap table 父子表实现[无限级]菜单管理功能 实现效果 前端代码 <%@ page language="java" import="java.u ...

  3. BootStrap table使用

    bootstrap table git address https://github.com/wenzhixin/bootstrap-table 引入文件 <link rel="sty ...

  4. JS组件系列——表格组件神器:bootstrap table

    前言:之前一直在忙着各种什么效果,殊不知最基础的Bootstrap Table用法都没有涉及,罪过,罪过.今天补起来吧.上午博主由零开始自己从头到尾使用了一遍Bootstrap Table ,遇到不少 ...

  5. JS组件系列——表格组件神器:bootstrap table(三:终结篇,最后的干货福利)

    前言:前面介绍了两篇关于bootstrap table的基础用法,这章我们继续来看看它比较常用的一些功能,来个终结篇吧,毛爷爷告诉我们做事要有始有终~~bootstrap table这东西要想所有功能 ...

  6. 后台系统组件:一丶bootstrap table

    http://www.cnblogs.com/landeanfen/p/4976838.html (bootstrap table) http://www.cnblogs.com/landeanfen ...

  7. Bootstrap Table使用分享

    版权声明:本文为博主原创文章,未经博主允许不得转载. 最近客户提出需求,想将原有的管理系统,做下优化,通过手机也能很好展现,想到2个方案: a方案:保留原有的页面,新设计一套适合手机的页面,当手机访问 ...

  8. java +bootstrap table 完整例子

    需求:现在常用的table 插件很多, 比如 jquey datatables ,不过操作挺 麻烦, 看到推荐的bootstrap 自带的 table,就用到项目来,先看效果:

  9. 使用bootstrap table小记(表格组件)

    前言 新的一年悄然到来,生活依旧.最近一周大热的赵雷风,一首<成都>,一首<理想>再次把民谣展示在国人面前.歌词着实写的不错. 理想,你今年几岁 你总是诱惑着年轻的朋友 你总是 ...

  10. 新的表格展示利器 Bootstrap Table

     1.bootstrap table简介及特征 Bootstrap Table是国人开发的一款基于 Bootstrap 的 jQuery 表格插件,通过简单的设置,就可以拥有强大的单选.多选.排序.分 ...

随机推荐

  1. Shiro密码处理

    散列算法一般用于生成数据的摘要信息,是一种不可逆的算法,一般适合存储密码之类的数据,常见的散列算法如 MD5.SHA等.一般进行散列时最好提供一个 salt(盐),比如加密密码"admin& ...

  2. 文献阅读 - MonoLoco与关于Camera Matrix的笔记

    目录 概览 HighLights Camera Intrinsic Matrix 笔记 Intrinsic Matrix Task-Error - 不确定性任务下确界的计算 输出假设的Laplace分 ...

  3. 文献阅读报告 - 3DOF Pedestrian Trajectory Prediction

    文献 Sun L , Yan Z , Mellado S M , et al. 3DOF Pedestrian Trajectory Prediction Learned from Long-Term ...

  4. 快速幂的类似问题(51Nod 1008 N的阶乘 mod P)

    下面我们来看一个容易让人蒙圈的问题:N的阶乘 mod P. 51Nod 1008 N的阶乘 mod P 看到这个可能有的人会想起快速幂,快速幂是N的M次方 mod P,这里可能你就要说你不会做了,其实 ...

  5. C/C++学习笔记_gdb调试

    1.前提条件:可执行文件包含调试信息 gcc -g 2.gdb 文件名 ---启动gdb调试 3.查看代码的命令 当前文件: list 行号(函数名) 指定文件: list 文件名:行号(函数名)4. ...

  6. 把a表格的内容读取出来,然后写到b表格

    把a表格的内容读取出来,然后写到b表格 #!/usr/bin/env python3 import sys #控制台要输入的两个参数格式为:python script_name.py 参数1 参数2 ...

  7. C#高级编程(第9版) 第10章 集合 笔记

    话说 虽然敲过好多代码, 但除了C++,一直没正眼瞧过其它语言.(没办法 谁叫C++既有oop又能自由控制内存呢) 今天 看公司老项目的src,c#的,linq+Dictionary的用法有感.所以找 ...

  8. CSU2004:Finding words(含指定不相交前后缀的模式串计数)

    题:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=2004 题意:给定n个模式串,m个询问,每个询问是“前缀+‘*’+后缀 ”的组合的串S,输出 ...

  9. C语言I作业博客07

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/9935 我在这个课程的目 ...

  10. 两个exe共享内存数据

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...