基于Bootstrap-Table的Web表格教程

      由于工作的经常需要写一些Web前端的页面用于展现数据,在实际应用过程中发现使用表格来展现数据与信息更方便与直观,所以开始使用bootstrap的table功能,但bootstrap的table主要提供一些基本的样式其JS控制方面的功能相对比较弱,所以需要一款更强大的table插件来解决问题,这时bootstrap-table就出场了。


一、Bootstrap-Table是什么?

这是个插件是由wenzhixin(文翼)大牛开发的并已经开源,下面是其官方主页面:

Bootstrap-Table官方网址

Bootstrap-tab的官方主页

官方描述:基于 Bootstrap 的 jQuery 表格插件,通过简单的设置,就可以拥有强大的单选、多选、排序、分页,以及编辑、导出、过滤(扩展)等等的功能。Bootstrap-Table是一个基于jQuery插件,能提供各种强大的前后端表格数据处理功能

Bootstrap-Table Github开源项目地址

二、为什么是Bootstrap-Table

在平时的工作中又需要开发一些前端Web页面,因为本人是非专业的Web前端开发人员,对Web前端开发没有什么经验,特别是对于前端开发的各种框架AngularJS、YAML等,一看就头大,这些框架对于我们只会写一点js的人来说太重了学习成本很高,所以对于我们需要一个快速开发出想要的页面表格来说Bootstrap-Table不合适过了。

Bootstrap-Table的优点:

1.因为基于Bootstrap所以相应其样式都是标准化的。

2.提供了强大的操作选项与方法API,只需要关注业务数据字段的组装不太需要关注各种样式。

3.详细的文档与例子,特别是例子文档中常见的表格应用方式基本都有了,直接Copy修改即可。

4.提供了很多第三方扩展插件可以满足复杂的应用场景。

5.上图看看我们的实现效果,是不是很酷吧。

基于Bootstrap-Table的表格实现样例

三、Bootstrap-Table的获取与使用

1.直接从Git下载

https://github.com/wenzhixin/bootstrap-table

点击【Clone or download下载】

下载解压

解压后的bootstrap-table目录结构


2.在html页面直接引用即可

注意bootstrap-table是基于bootsrap与jQuery的是所以是需要引入这两个js库的如下图,导入bootsrap-table的js与css。

a.首先引入jQuery与Bootstrap
.再引入bootstrap-table

注意:引入bootstrap-table-zh-CN.min.js是为支持中文本地化,bootstrap-table是支持多语言的,可根据需要进行引入。

3.组装Table的表头字段

bootstrap-table支持两种方式来定义表格的,一种是使用html的data属性方式,另一种就是使用JaveScript脚本方式,这里主要介绍后一种js的方式,data属性方式没有JaveScript灵活。

data属性方式

JavaScript方式操作过程:

a.首先在html页面中定义table标记并增加相应的属性,每一个属性都是以data-x-x="x"标记的,每一个属性的详细定义请参考官方文档【表格参数】一节。

bootstrap-table的详细文档

html页面中增加table标记

b.编写JavaScript来定义表头,如下:

JaveScript方式, 每一个字段属性的详细说明请参考官方文档【列参数】一节

$("#caseListTable").bootstrapTable({});通过在()中放入json对象可动态生成表格。

columns : [{}]用于定义表头的字段名,一个json对象对应一个字段的格式的定义,

c.组装数据到表格中:

通过jQuery的ajax获取服务端数据,然后加载到表格中去即可,如下图:


$("#caseListTable").bootstrapTable('load',caseData);

'load'即方法名,caseData是一个json数组,如果返回json数据中的key与表格中field无法一一对应用,还需要另写函数来进行处理一下json数据即此图中的packagingDataForCaseListTable函数。

注意,如果返回的数据格式是json格式的数组,每一个数组项表示一行数据:json数据其中的key要与步骤b中所定义的【field】名称相对应,如:field:case_name,其对应用json数据格式是{"case_name": "myCase"},)如下图的json格式样例:


Table json数据格式


生成的表格样例

四、Bootstrap-Table的扩展

bootstrap支持一些特殊的扩展功能如:字段的过滤与表格编辑与导出,详细可参者其官方文档

bootstrap-table扩展


编辑表格内容


表格内容过滤

五、总结:

     bootstrap-table的最大特点就是让你在开发html页面时只关注于业务与数据,其他方面如样式与控件的操作等它都统统能帮你搞定,此篇只是一个基本指南,关于表格的各种应用场景还是需要在实践中进行体会,特别是其丰富的例子可以进行快速复制使用,PS:本人不是专业的Web端开发人员,只是抛砖引玉,如有相关Web开发的概念错误请见谅。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容