[关闭]
@chenbinghua 2019-03-02T06:40:05.000000Z 字数 3631 阅读 602

Bootstrap_table学习

javascript


前言

一个后台管理系统最大功能就是增删改查找

学习参考

https://blog.csdn.net/javahighness/article/details/73929108

官网介绍

基于 Bootstrap 的 jQuery 表格插件,通过简单的设置,就可以拥有强大的单选、多选、排序、分页,以及编辑、导出、过滤(扩展)等等的功能。

开始

  1. 引入一下文件
  2. <!-- 引入bootstrap样式 -->
  3. <link href="https://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
  4. <!-- 引入bootstrap-table样式 -->
  5. <link href="https://cdn.bootcss.com/bootstrap-table/1.11.1/bootstrap-table.min.css" rel="stylesheet">
  6. <!-- jquery -->
  7. <script src="https://cdn.bootcss.com/jquery/2.2.3/jquery.min.js"></script>
  8. <script src="https://cdn.bootcss.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
  9. <!-- bootstrap-table.min.js -->
  10. <script src="https://cdn.bootcss.com/bootstrap-table/1.11.1/bootstrap-table.min.js"></script>
  11. <!-- 引入中文语言包 -->
  12. <script src="https://cdn.bootcss.com/bootstrap-table/1.11.1/locale/bootstrap-table-zh-CN.min.js"></script>

1.data-toggle="table" 无需JavaScript启用bootstrap table

分页

思考一下参数
请求第几条开始的数据 offset
每页显示多少条数据 limit
怎样发送查询数据

具体代码

html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <!-- 引入bootstrap样式 -->
  7. <link href="https://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
  8. <!-- 引入bootstrap-table样式 -->
  9. <link href="https://cdn.bootcss.com/bootstrap-table/1.11.1/bootstrap-table.min.css" rel="stylesheet">
  10. <!-- jquery -->
  11. <script src="https://cdn.bootcss.com/jquery/2.2.3/jquery.min.js"></script>
  12. <script src="https://cdn.bootcss.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
  13. <!-- bootstrap-table.min.js -->
  14. <script src="https://cdn.bootcss.com/bootstrap-table/1.11.1/bootstrap-table.min.js"></script>
  15. <!-- 引入中文语言包 -->
  16. <script src="https://cdn.bootcss.com/bootstrap-table/1.11.1/locale/bootstrap-table-zh-CN.min.js"></script>
  17. </head>
  18. <body>
  19. <button type="button" class="btn btn-success" aria-label="Left Align">
  20. <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>添加组件
  21. </button>
  22. <table id="table"></table>
  23. <script>
  24. $("#table").bootstrapTable({ // 对应table标签的id
  25. url: "demo1.json", // 获取表格数据的url
  26. cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
  27. striped: true, //表格显示条纹,默认为false
  28. pagination: true, // 在表格底部显示分页组件,默认false
  29. pageList: [10, 20], // 设置页面可以显示的数据条数
  30. pageSize: 10, // 页面数据条数
  31. pageNumber: 1, // 首页页码
  32. sidePagination: 'server', // 设置为服务器端分页
  33. showToggle:true, // 是否显示切换视图(table/card)按钮。
  34. showColumns:true, // 是否显示内容列下拉框。
  35. showRefresh:true, // 是否显示 刷新按钮
  36. singleSelect:true, // 设置True 将禁止多选
  37. clickToSelect:true, // 设置true 将在点击行时,自动选择rediobox 和 checkbox
  38. // 是否显示切换视图(table/card)按钮。
  39. queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
  40. return {
  41. pageSize: params.limit, // 每页要显示的数据条数
  42. offset: params.offset, // 每页显示数据的开始行号
  43. sort: params.sort, // 要排序的字段
  44. sortOrder: params.order, // 排序规则
  45. dataId: $("#dataId").val() // 额外添加的参数
  46. }
  47. },
  48. sortName: 'code', // 要排序的字段
  49. sortOrder: 'desc', // 排序规则
  50. columns: [
  51. {
  52. checkbox: true, // 显示一个勾选框
  53. align: 'center' // 居中显示
  54. }, {
  55. field: 'code', // 返回json数据中的name
  56. title: '编号', // 表格表头显示文字
  57. align: 'center', // 左右居中
  58. valign: 'middle' // 上下居中
  59. }, {
  60. field: 'name',
  61. title: '名称',
  62. align: 'center',
  63. valign: 'middle'
  64. }, {
  65. field: 'calcMode',
  66. title: '计算方式',
  67. align: 'center',
  68. valign: 'middle',
  69. formatter: function (value, row, index){ // 单元格格式化函数
  70. var text = '-';
  71. if (value == 1) {
  72. text = "方式一";
  73. } else if (value == 2) {
  74. text = "方式二";
  75. } else if (value == 3) {
  76. text = "方式三";
  77. } else if (value == 4) {
  78. text = "方式四";
  79. }
  80. return text;
  81. }
  82. }, {
  83. title: "操作",
  84. align: 'center',
  85. valign: 'middle',
  86. width: 160, // 定义列的宽度,单位为像素px
  87. formatter: function (value, row, index) {
  88. return '<button class="btn btn-primary btn-sm" onclick="del(\'' + row.stdId + '\')">删除</button>';
  89. }
  90. }
  91. ],
  92. onLoadSuccess: function(){ //加载成功时执行
  93. console.info("加载成功");
  94. },
  95. onLoadError: function(){ //加载失败时执行
  96. console.info("加载数据失败");
  97. }
  98. })
  99. </script>
  100. </body>
  101. </html>

json

  1. {
  2. "total":50,
  3. "rows":[
  4. {
  5. "code":1,
  6. "name":"这是名称1",
  7. "calcMode":2
  8. },
  9. {
  10. "code":2,
  11. "name":"这是名称2",
  12. "calcMode":1
  13. },
  14. {
  15. "code":3,
  16. "name":"这是名称3",
  17. "calcMode":3
  18. },
  19. {
  20. "code":4,
  21. "name":"这是名称4",
  22. "calcMode":1
  23. },
  24. {
  25. "code":5,
  26. "name":"这是名称5",
  27. "calcMode":1
  28. }
  29. ]
  30. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注