Bootstrap Table从零开始

发布时间 - 2026-01-11 02:07:21    点击率:

本文博主将从零开始,一步一步的告诉大家如何在前端用bootstrap Table插件展示一个表格

首先,要下载bootstrap Table插件所必须的js,地址:https://github.com/wenzhixin/bootstrap-table

官方文档地址:http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/

本文项目地址:bootstraptable

本文需要注意点地方博主已用红笔圈起来

先展示效果图

接下来就开始使用bootstrap Table插件制作表格

将上述地址下载的插件js放到项目中,分别为js,css,fonts

此处有一个细节:locale文件夹的名字不能修改,而且里边的所有语言js,必须全部粘过来

本文以MVC为例,当然WebForm也是可以的

使用步骤:

1、新建一个控制器和视图,该视图引用了_Layout母页版

2、在视图里引用相应的js

在页面上写一个table表格容器,这一句必须要有

<table id="ArbetTable"></table>

3、初始化bootstrap Table

$(function () {
 //1.初始化Table
 var oTable = new TableInit();
 oTable.Init();
 });

4、使用bootstrap Table

var TableInit = function () {
 var oTableInit = new Object();
 //初始化Table
 oTableInit.Init = function () {
 $('#ArbetTable').bootstrapTable({
  url: '/Interface/GetData',  //请求后台的URL(*)
  method: 'get',   //请求方式(*)
  toolbar: '#toolbar',  //工具按钮用哪个容器
  striped: true,   //是否显示行间隔色
  cache: false,   //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
  pagination: true,   //是否显示分页(*)
  sortable: false,   //是否启用排序
  sortOrder: "asc",   //排序方式
  queryParams: oTableInit.queryParams,//传递参数(*)
  sidePagination: "server",  //分页方式:client客户端分页,server服务端分页(*)
  pageNumber: 1,   //初始化加载第一页,默认第一页
  pageSize: 10,   //每页的记录行数(*)
  pageList: [10, 25, 50, 100], //可供选择的每页的行数(*)
  search: true,   //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
  contentType: "application/x-www-form-urlencoded",
  strictSearch: true,
  showColumns: true,   //是否显示所有的列
  showRefresh: true,   //是否显示刷新按钮
  minimumCountColumns: 2,  //最少允许的列数
  clickToSelect: true,  //是否启用点击选中行
  height: 700,   //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
  uniqueId: "no",   //每一行的唯一标识,一般为主键列
  showToggle: true,   //是否显示详细视图和列表视图的切换按钮
  cardView: false,   //是否显示详细视图
  detailView: false,   //是否显示父子表
  columns: [
  {
  field: 'ID',
  title: 'ID'
  }, {
  field: 'Name',
  title: '名字'
  }, {
  field: 'Sex',
  title: '性别'
  },
  {
  field: 'operate',
  title: '操作',
  formatter: operateFormatter //自定义方法,添加操作按钮
  },
  ],
  rowStyle: function (row, index) {
  var classesArr = ['success', 'info'];
  var strclass = "";
  if (index % 2 === 0) {//偶数行
   strclass = classesArr[0];
  } else {//奇数行
   strclass = classesArr[1];
  }
  return { classes: strclass };
  },//隔行变色
 });

 };


 //得到查询的参数
 oTableInit.queryParams = function (params) {
 var temp = { //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
  limit: params.limit, //页面大小
  offset:params.offset
 };
 return temp;
 };
 return oTableInit;
};


function operateFormatter(value, row, index) {//赋予的参数
 return [
 '<a class="btn active disabled" href="#">编辑</a>',
 '<a class="btn active" href="#">档案</a>',
 '<a class="btn btn-default" href="#">记录</a>',
 '<a class="btn active" href="#">准入</a>'
 ].join('');
}

5、后台url返回数据

public ActionResult GetData(int limit, int offset)
 {
  var data = new List<object>(){new { ID=1, Name="Arbet", Sex="男"},
  new { ID= 2, Name="Arbet1", Sex="女" },
  new {ID=3, Name="Arbet2",Sex="男" },
  new {ID=4, Name="Arbet3",Sex="女" },
  new {ID=5, Name="Arbet4",Sex="男" },
  new {ID=6, Name="Arbet5",Sex="男" },
  new {ID=7, Name="Arbet6",Sex="女" },
  new {ID=8, Name="Arbet7",Sex="男" },
  new { ID=9, Name="Arbet1", Sex="女" },
  new {ID=10, Name="Arbet2",Sex="男" },
  new {ID=11, Name="Arbet3",Sex="女" },
  new {ID=12, Name="Arbet4",Sex="男" },
  new {ID=13, Name="Arbet5",Sex="男" },
  new {ID=14, Name="Arbet6",Sex="女" },
  new {ID=15, Name="Arbet7",Sex="男" }
  };
  var total = data.Count;
  var rows = data.Skip(offset).Take(limit).ToList();
  return Json(new { total = total, rows = rows }, JsonRequestBehavior.AllowGet);
 }

在本文中,博主以匿名集合来设置数据,大家可以通过查询数据库获取数据

在此需要注意:返回的参数必须是total和rows,total返回数据集总个数,rows返回table的json格式

6、展示效果

发现出现了这个bug,这是怎么回事

在浏览器上打开源代码

发现多了一些其他js文件,这是layout母页版里引入的js文件

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8" />
 <meta name="viewport" content="width=device-width" />
 <title>@ViewBag.Title</title>
 @Styles.Render("~/Content/css")
 @Scripts.Render("~/bundles/modernizr")
</head>
<body>
 @RenderBody()

 @*@Scripts.Render("~/bundles/jquery")*@
 @RenderSection("scripts", required: false)
</body>
</html>

把上图中的红框里的js文件注释掉再运行

发现成功了!这是因为JS库文件的引用是有顺序的,必须先引用JQuery库文件,再引用插件js

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Bootstrap  # Table  # JS表格组件神器bootstrap table详解(基础版)  # Bootstrap Table使用方法详解  # JS组件Bootstrap Table使用方法详解  # bootstrap table 服务器端分页例子分享  # Bootstrap Table的使用总结  # BootStrap table表格插件自适应固定表头(超好用)  # 第一次动手实现bootstrap table分页效果  # Bootstrap嵌入jqGrid  # 使你的table牛逼起来  # Bootstrap table分页问题汇总  # BootStrap 可编辑表Table格  # 分页  # 每页  # 第一页  # 需要注意  # 服务端  # 客户端  # 行数  # 这是  # 这一  # 行间  # 是有  # 在此  # 要有  # 可以通过  # 如果没有  # 自定义  # 分别为  # 为例  # 这是因为  # 必须先 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  网站制作软件有哪些,制图软件有哪些?  如何在阿里云高效完成企业建站全流程?  如何注册花生壳免费域名并搭建个人网站?  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  微信小程序 scroll-view组件实现列表页实例代码  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  网站建设要注意的标准 促进网站用户好感度!  如何快速上传建站程序避免常见错误?  EditPlus中的正则表达式 实战(4)  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  什么是javascript作用域_全局和局部作用域有什么区别?  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  怎么用AI帮你为初创公司进行市场定位分析?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  如何用搬瓦工VPS快速搭建个人网站?  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  EditPlus 正则表达式 实战(3)  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  手机软键盘弹出时影响布局的解决方法  Laravel如何发送系统通知?(Notification渠道示例)  nodejs redis 发布订阅机制封装实现方法及实例代码  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  如何快速搭建个人网站并优化SEO?  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  敲碗10年!Mac系列传将迎来「触控与联网」双革新  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  智能起名网站制作软件有哪些,制作logo的软件?  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  linux写shell需要注意的问题(必看)  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  如何彻底删除建站之星生成的Banner?  太平洋网站制作公司,网络用语太平洋是什么意思?  常州企业网站制作公司,全国继续教育网怎么登录?  Laravel如何配置和使用缓存?(Redis代码示例)  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  Laravel怎么实现验证码(Captcha)功能  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  非常酷的网站设计制作软件,酷培ai教育官方网站?  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  实例解析angularjs的filter过滤器  如何在阿里云ECS服务器部署织梦CMS网站?  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  如何基于云服务器快速搭建个人网站?  原生JS实现图片轮播切换效果