bootstrap表格遍历_BootStrapTable的动态表格详细教程【附代码】

62576b52b3e9811ffe42adcf28918710.png

本篇文章将为大家介绍如何使用bootstrap table插件来实现动态表格。

在我们构建BootStrapTable(下文中均称:BsTable),其中columns参数作为表格列的内容存储,我们的需求是根据返回的数据动态的生成columns参数的内容。从而生成动态表格。

columns参数格式:类似下文columns: {

{

field: 'Id',

title: '编号',

},{

field: 'name',

title: '名称',

},{

field: 'sex',

title: '性别',

//自定义方法

formatter: function (value) {

if (value == 1) {

return '男';

} else if (value == 2) {

retuen '女';

}

}

},

}

需求:通过点击按钮发送ajax请求,针对请求返回的数据进行动态表格的构建。

按钮构造:设置点击事件

 SQL语句执行

点击事件编写:dataQuery.js (注意:这里将逐段解析,最后将贴上完整版代码)

1、获取html页面元素值

由于实现该功能的需要两个参数:SQL语句(sql) + 连接信息(connectInfo) ,所以要先从页面上获取两个元素的值:类选择器选择元素获取对应值。var sql = $('#sql').val();

var connectInfo = $('#connectInfo').val();

2、选定页面表格元素,发送ajax请求,构建BSTable

页面上的表格元素:采用beetl的标签,将重复使用的html代码用一行代码标签代替,方便使用,易于维护。

2.1 ajax请求参数配置参数含义type请求类型

url请求链接地址

contentType发送给服务器的格式

dataType收到数据的格式

data发送给服务端的数据

success请求成功时调用

error请求失败时调用

详细代码:$('#DataQueryTable').bootstrapTable({

ajax: function (request) {

$.ajax({

type: "GET",

url: Feng.ctxPath + "/dataQuery/list" + "/" + sql + "/" + connectInfo,

contentType: "application/json;charset=utf-8",

dataType: "json",

json: 'callback',

success: 见下文

error: 见下文

})

})

2.2 ajax请求成功,根据返回json数据构造动态表头

2.2.1 初始化自定义动态表头数组//定义动态表头字段数组

var dynamicHeader = [];

//向数组中填入属性

dynamicHeader.push({

field: "state",

check: true

});

2.2.2 动态表头生成//针对返回的json数据,遍历json数据的key集合

for (var i = 0; i

//获取对应索引的value值,将获取的值设置到动态表头字段中。

var property = (Object.keys(json[0]))[i];

dynamicHeader.push({

"title": property,

"field": property,

//显示是否显示隐藏

switchable: true,

//是否开启排序

sortable: true

});

}

这段代码我们可以结合浏览器F12,查看Object.keys(json[0])中的具体内容:模拟一个请求/test。

b3d5fa2b2a09ef98dfd181fd9878ffba.png

2.2.3 构造表格,构造表格前要进行table销毁,否则会保留上次加载的内容$('#DataQueryTable').bootstrapTable('destroy').bootstrapTable({

//得到的json数据,会根据columns参数进行对应赋值配置

data: json,

//Bstable工具导航条

toolbar: '#toolbar',

//浏览器缓存,默认为true,设置为false避免页面刷新调用浏览器缓存

cache: false,

//是否显示行间隔色

striped: true,

//分页方式:client客户端分页,server服务端分页

sidePagination: "client",

//排序方式

sortOrder: "desc",

//每页记录行数

pageSize: 25,

//初始化加载第一页

pageNumber: 1,

//可供选择的每页行数

pageList: "[25, 50, 100, All]",

//是否显示切换按钮

showToggle: true,

//是否显示所有的列

showColumns: true,

//是否显示导出按钮(下篇文章将会提到)

showExport: true,

//导出数据类型(下篇文章将会提到)

exportDataType: "basic",

//是否显示分页

pagination: true,

//是否启用全匹配搜索,否则为模糊搜索

strictSearch: true,

//开启搜索

search: true,

//自定义所生成的动态表头放入,结合上述json数据,实现表格数据内容的构建

columns: dynamicHeader

});

},

2.3 ajax请求失败,弹窗报告错误信息,页面重加载error: function () {

alert("SQL查询错误,请输入正确的SQL语句!");

location.reload();

}

完整js代码/**

* BsTable动态表格生成

*/

DataQuery.sqlExecute = function (){

var sql = $('#sql').val();

var connectInfo = $('#connectInfo').val();

$('#DataQueryTable').bootstrapTable({

ajax: function (request) {

$.ajax({

type: "GET",

url: Feng.ctxPath + "/dataQuery/list" + "/" + sql + "/" + connectInfo,

contentType: "application/json;charset=utf-8",

dataType: "json",

json: 'callback',

success: function (json) {

var dynamicHeader = [];

dynamicHeader.push({

field: "state",

check: true

});

for (var i = 0; i

var property = (Object.keys(json[0]))[i];

//console.log(property);

dynamicHeader.push({

"title": property,

"field": property,

switchable: true,

sortable: true

});

}

//console.log(Object.keys(json[0]));

$('#DataQueryTable').bootstrapTable('destroy').bootstrapTable({

data: json,

toolbar: '#toolbar',

cache: false,

striped: true,

sidePagination: "client",

sortOrder: "desc",

pageSize: 25,

pageNumber: 1,

pageList: "[25, 50, 100, All]",

showToggle: true,

showColumns: true,

showExport: true,

exportDataType: "basic",

pagination: true,

strictSearch: true,

search: true,

columns: dynamicHeader

});

},

error: function () {

alert("SQL查询错误,请输入正确的SQL语句!");

location.reload();

}

});

}

});

};

3.测试动态表格生成结果

3.1 测试分两部分,首先获取请求所得到的json数据,模拟请求获取100条数据@RequestMapping(value = "/test")

@ResponseBody

public Object test(){

return iDataQueryService.windQuery("SELECT TOP 100 [OBJECT_ID]\n" +

" ,[S_INFO_WINDCODE]\n" +

" ,[S_CON_WINDCODE]\n" +

" ,[S_CON_INDATE]\n" +

" ,[S_CON_OUTDATE]\n" +

" ,[CUR_SIGN]\n" +

" ,[OPDATE]\n" +

" ,[OPMODE]\n" +

" FROM [WIND].[db_datareader].[AINDEXMEMBERS]");

}

3.2 查看请求所返回的json数据

cb92c62dbf484555e03c64a296b7bb5d.png

3.3测试动态表格生成

上述的请求可以正常返回数据,那我们通过ajax请求所构建的动态BSTable呢?

请求为:SQL语句/链接信息,ajax请求返回json数据,与上述请求一致。

3f42b95947491390b98a8ebe7d08c1ea.png

查看我们的动态表格生成状况:

d4e6ddc3d784c340f05b1d58b659ba84.png

宾果,至此BootStrapTable动态表格功能已实现。

相关推荐

bstable:Javascript库,使用Bootstrap使HMTL表可编辑

BSTable 概述 BSTable版权所有(C)2020 Thomas Rokicki(CraftingGamerTom) Javascript库,可使用Bootstrap使HMTL表可编辑。 基于javascript库引导表,该表可启用每页表的编辑-但是不允许对每个表进行不同的事件处理。 感谢t-edson对开源社区的贡献,并使我能够在您的工作之上创建此库。 “ BSTable”是一个JavaScript库(插件),可将HTML静态引导表转换为可编辑表。 一个表变为可编辑的,它插入了几个按钮来执行编辑操作。 动作包括: 编辑栏位。 删除行。 添加行。 (需要手动定义的其他按钮) 依存关系: jQuery的 引导程序 字体很棒 需要Bootstrap和Font Awesome才能正确格式化表格,控制编辑和绘制图标。 不包括数据库/ API连接。 该库旨在脱机工作。 通过

bootstraptable查看详情_BootStrapTable动态表格详细教程代码

本篇文章将为大家介绍如何使用bootstrap table插件来实现动态表格。推荐教程Bootstrap视频教程在我们构建BootStrapTable(下文中均称:BsTable),其中columns参数作为表格列的内容存储,我们的需求是根据返回的数据动态的生成columns参数的内容。从而生成动态表格。columns参数格式:类似下文columns: {{field: 'Id',title: ...

weixin_39723248的博客 590

UE5虚幻引擎5整合科大讯飞语音识别与合成插件-实时语音转写在线语音合成实时语音听写文本合规星火大模型情感分析离线语音听写语音唤醒离线语音合成-为游戏开发者提供高效便捷的语音交互解.zip

UE5虚幻引擎5整合科大讯飞语音识别与合成插件_实时语音转写在线语音合成实时语音听写文本合规星火大模型情感分析离线语音听写语音唤醒离线语音合成_为游戏开发者提供高效便捷的语音交互解.zip电控系统故障诊断与多电机协同控制

Bootstrap-table使用教程

前言 我们先从Bootstrap-table(以下简称BS-table)的基础使用开始讲起,写法来说,BS-table主要分为两种写法,一种是HTML写法,一种是JS写法。这能这里用"HTML写法"和"JS写法"不太专业准确,我就先这么描述着吧,一会代码放上来就能明白我说的什么意思了。本文也主要将这两种写法的大部分(并不敢说我什么都会)使用方法告知大家。 【版本使用】 jQuery@3.3....

fd214333890的专栏 1万+

bootstrap表格遍历_Bootstrap Table批量(全选)删除

Bootstrap Table批量(全选)删除,类似以下这样:思路1:jsp页面,删除按钮2:在columns里面,checkbox : true3:最主要的是js里面实现,删除按钮事件获得要删除整条数据的id,并且传递给后端,在数据库进行操作部分js代码var path = getContextPath();$(function() {$('#mytab').bootstrapTable({me...

weixin_33683833的博客 979

bootstrap 获取表格修改的结果_BootStrap实现带有增删改查功能的表格(DEMO详解)

前言bootstrap表格样式,有类似EasyUI的表格,也有卡片式表格,放到移动端显示,各有千秋。但是BootStrap自带的表格是没有操作列的,网上的资源不少,但是都是比较单一、零碎,JS、CSS也经常给的不全,自己经过大概一个月左右的时间,把表格封装了一下,希望能分享给大家。表格封装了3个版本,接下来给大家展示一下样式和代码。版本一1. 样式表格布局:添加:添加一行新的空白代码修改:选中可...

weixin_39774445的博客 427

bootstrap表格遍历_怎么实现BootStrapTable动态表格

怎么实现BootStrapTable动态表格发布时间:2020-07-10 15:08:52来源:亿速云阅读:263作者:Leah怎么实现BootStrapTable动态表格?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。本篇文章将为大家介绍如何使用bootstrap table插件来实现动态表格。在我们构建BootStrapT...

weixin_33699970的博客 1864

bootstraptable查看详情_BootStrapTable动态表格详细教程代码】 | 学步园

本篇文章将为大家介绍如何使用bootstrap table插件来实现动态表格。推荐教程Bootstrap视频教程在我们构建BootStrapTable(下文中均称:BsTable),其中columns参数作为表格列的内容存储,我们的需求是根据返回的数据动态的生成columns参数的内容。从而生成动态表格。columns参数格式:类似下文columns: { { field: ...

weixin_33274593的博客 785

如何实现BootStrapTable动态表格

BootStrapTable动态表格 在我们构建BootStrapTable(下文中均称:BsTable),其中columns参数作为表格列的内容存储,我们的需求是根据返回的数据动态的生成columns参数的内容。从而生成动态表格。 columns参数格式:类似下文 columns: { { field: 'Id', title: '编号', ...

编程小透明的博客 4万+

bootstrap-table 列属性_bootstrap table 动态列数

据说bootstrap table非常好用,从入门教程中了解到它的以下主要功能:由于固定表头意味着固定的列,然而我需要做动态列数的表格啊。 大致思路:bootstrap table在加载表格时,表格的内容按columns参数中的数组来填充。因此,通过动态地生成与columns参数中的数组,我们可以实现动态列名,也就是动态表格。columns参数格式大致如下: 主要逻辑代码:通过Object.key...

weixin_36474001的博客 1945

bootstrapbootstrapTable方法更改直接获取到的数据然后再生成表格或列表

直接上代码,主要就是responseHandler的这个参数。 //将扩展字段放入比对条件中 function formatData(data,flag){ var list = data.data; var jdid = ''; var tabName = ''; if(flag == 'left'){ jdid = linkSourceId; tabName = "lef...

leanaoo的博客 5594

bootstrap表格遍历_BootStrap实现带有增删改查功能的表格(DEMO详解)

前言bootstrap表格样式,有类似EasyUI的表格,也有卡片式表格,放到移动端显示,各有千秋。但是BootStrap自带的表格是没有操作列的,网上的资源不少,但是都是比较单一、零碎,JS、CSS也经常给的不全,自己经过大概一个月左右的时间,把表格封装了一下,希望能分享给大家。表格封装了3个版本,接下来给大家展示一下样式和代码。版本一1. 样式表格布局:添加:添加一行新的空白代码修改:选中可...

weixin_35747785的博客 1157

Bootstrap Table使用教程(请求json数据渲染表格

今天来写一个关于Bootstrap Table使用教程(请求json数据渲染表格) json数据来源于后端小伙伴的接口,我放在本地进行模拟了 涉及到的知识点 1:Bootstrap Table使用教程,基本请求,将请求过来的数据进行分页,每页5条内容,也可以选择每页15条,20条或者更多 2: 定义删除按钮功能、获得要删除的数据,声明一个数组,通过获得别选中的来进行遍历,cid为获得到的整条数...

祈澈菇凉 4020

bootstrap table 动态列数

原文地址:https://my.oschina.net/u/2356355/blog/1595563 据说bootstrap table非常好用,从入门教程中了解到它的以下主要功能: 由于固定表头意味着固定的列,然而我需要做动态列数的表格啊。 大致思路:bootstrap table在加载表格时,表格的内容按columns参数中的数组来填充。因此,通过动态地生成与columns参数中的数...

那些年的代码 1182

BootstrapTable如何批量操作多行

转载:https://blog.csdn.net/qq_42149844/article/details/80404211 1、在BootstrapTable初始化表格时,在表格columns加上checkbox:true,这样第一列就是一个复选框。var $table = $('#table'); $...

sinat_38818576的博客 3022

bootstrapTable怎么获取其他返回值

bootstrapTable怎么获取其他返回值,除了rows和total 解决方法: 假如java代码返回值有total,rows和nextMarker,那我的bootstrapTable表格如何获取nextMarker这个返回值呢? Map<String, Object> resultMap = new HashMap<>(); resultM...

qq_30908729的博客 2280

bootstrapTable获取数据条数(获取总条数) 获取当前行(行号) 获取全部数据(本页) 获取某行数据 获取选中行数据

//bootstrapTable获取数据条数(获取总条数) var totalNum = $('#tb_TableStudent').bootstrapTable('getOptions').totalRows; alert(totalNum); //bootstrapTable获取当前行(行号) $('#tb_Table').on("click-row.bs.table",function(e, row, $element) { var index = $element.data('i..

tanzongbiao的专栏 1万+

table.bootstrapTable() 之基本使用方法

Bootstrap-table插件提供了非常丰富的属性设置,可以实现查询、分页、排序、复选框、设置显示列、Card view视图、主从表显示、合并列、国际化处理等处理功能,而且该插件同时也提供了一些不错的扩展功能,如移动行、移动列位置等一些特殊的功能。

郝云博客 1万+

bootstrap合并表格错乱,for循环顺序踩坑

合并表格代码: 在渲染成功函数onLoadSuccess中写: 问题描述: 比如原本score这个属性列的值为50,50,50,3,4这四个值,应当合并前三行。 按顺序循环用getCount出的值的对象为:{50:3,3:1,4:1};表示50的值出现了3次,3一次,4一次; 但是实际循环出的对象为:{3:1,4:1,50:3};导致后三行合并,合并错乱; 原因: Object的key排序规则是:如果key是整数或者整数类型的字符串(比如1、2、3、“123”),那么会按照从小到大排序;其他数据类型,都按照

weixin_43991257的博客 501

bootstrap table 如何实现如何一个表格多行多列 图片如下 ,一个表头的单元格

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用M...

weixin_43202782的博客 1392

table表格动态渲染两行一起参与循环

table表格动态渲染两行一起参与循环

ZHAOXINHA的博客 650
上一篇: dpi与dp的关系_UI设计中px、pt、ppi、dpi、dp、sp之间的关系
下一篇: sqlyog 无法连接mysql_SqlYog无法连接mysql数据库(包括docker环境)的解决方法
Xy Chen
博客等级 码龄8年 32粉丝 87原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值