bootstrap Table的一些小操作


Posted in Javascript onNovember 01, 2017

本文实例为大家分享了bootstrap Table的操作代码,供大家参考,具体内容如下

function HQCreatTable(ob) {
  var option = {
    cache: false,//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
    scrollX: true,
    scrollY:true,
    striped: true,   //使表格带有条纹 //是否显示行间隔色
    sidePagination: "client",//分页方式:client客户端分页,server服务端分页(*)
    pagination: true,  //在表格底部显示分页工具栏
    pageNumber: 1,  //初始化加载第一页,默认第一页
    pageSize: 10,
    pageList: [ 10,15],//可供选择的每页的行数(*)
    showColumns: false,//是否显示所有的列
    sortable: true, //是否启用排序
    
    clickToSelect: true,//是否启用点击选中行
    showRefresh: false, //显示刷新按钮
    //search: false,//是否显示右上角的搜索框
    //toolbar: '#toolbar', //工具按钮用哪个容器
    uniqueId: "ID", //每一行的唯一标识,一般为主键列
    undefinedText: "",
    toolbarAlign: 'left',
    exportDataType: "all", //basic', 'all', 'selected'.
  }
  if (ob.rowStyle) {
    option.rowStyle = ob.rowStyle;//行样式 是函数
  }
  //排序
  if (ob.sortOrder) {
    option.sortOrder = ob.sortOrder;
  } else {
    option.sortOrder = "desc";
  }
  if (ob.sortName) {
    option.sortName = ob.sortName;
  }
  if (ob.showExport) {
    option.showExport = ob.showExport;//导出Excel
  }
  if (ob.showFooter) {
    option.showFooter = ob.showFooter;//是否显示统计页脚
  }
  if (ob.searchAlign) {
    option.searchAlign = ob.searchAlign;
  }
  if (ob.num) {
    option.pageSize = ob.num;//每页的记录行数(*)
  }
  if (ob.data) {
    option.data = ob.data;
  } else {
    option.data = [];
  }
  if (ob.search) {
    option.search = ob.search;
  }
  if (ob.columns) {
    option.columns = ob.columns;
  }
  if (ob.onClickRow) {
    option.onClickRow = ob.onClickRow;
  }
  if (ob.onDblClickRow) {
    option.onDblClickRow = ob.onDblClickRow;
  }
  if (ob.onDblClickRow) {
    option.onDblClickRow = ob.onDblClickRow;
  }
  if (ob.onCheck) {
    option.onCheck = ob.onCheck;
  }
  if (ob.onAll) {
    option.onAll = ob.onAll;
  }
  if (ob.onLoadSuccess) {
    option.onLoadSuccess = ob.onLoadSuccess;
  }
  if (ob.toolbar) {
    option.toolbar = ob.toolbar;
  }
  if (ob.singleSelect || ob.singleSelect == false) {
    option.singleSelect = ob.singleSelect
  } else {
    option.singleSelect = true;//禁止多选
  }
  if (ob.maintainSelected) {
    option.maintainSelected = ob.maintainSelected;
  } else {
    option.maintainSelected = false;//设置为 true 在点击分页按钮或搜索按钮时,将记住checkbox的选择项
  }
  if (ob.detailView) { option.detailView = ob.detailView; }
  if (ob.onExpandRow) {
    option.onExpandRow = ob.onExpandRow;
  }
  if (ob.onEditableSave) {
    option.onEditableSave = ob.onEditableSave;
  }
  $(ob.id).bootstrapTable('destroy');
  $(ob.id).bootstrapTable(option);
  if (ob.data) {
    $(ob.id).bootstrapTable('load', ob.data);
  }
}

前端分页的Table配置函数

<table id="Table3" data-row-style="rowStyle"></table>
 //行根据数据变色
  function rowStyle(row, index) {
    var classes = ['success'];
    var classes1 = ['danger'];
    var classes2 = ['warning'];
    if (row.bed_msg==0) {
      return {
        classes: classes2
      };
    }else{
      if (row.status == 1) {
        return {
          classes: classes1
        };
      } else {
          return {
        classes: classes
        };
      }
    }
    
  }

根据每行数据的一个字段的值来改变行的背景色(class好像只能调用他本来默认的那几个,很久之前写的忘记了是不是这样的)

formatter: function (value, row, index) {
          // 根据row.列名  那状态确定返回 true/false
          if (row.status == 1) {
            return {
              disabled: true
            };
          }
          
        }

这个是根据每行数据的一个字段的值来是否禁用选择框(我在之前项目需要做结算,已结算的和未结算的在一起,因此需要这个),formatter还可以写别的函数,比如根据1,0值改成其对应的值

footerFormatter: function (data) {
             return data.reduce(function (sum, row) {
               return accAdd(sum, row["Selmoney"]);
             }, 0) + "元";
           }

footerFormatter是必须之前的配置Table时,showFooter属性为true,否则不会显示。我写这个是前端分页的话是Table所有数据的Selmoney值的总和,后端分页的话则是当页数据的总和。

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

Javascript 相关文章推荐
javascript在子页面中函数无法调试问题解决方法
Jan 17 Javascript
举例讲解AngularJS中的模块
Jun 17 Javascript
JavaScript学习笔记整理_关于表达式和语句
Sep 19 Javascript
js阻止冒泡和默认事件(默认行为)详解
Oct 20 Javascript
jQuery插件FusionCharts实现的2D饼状图效果【附demo源码下载】
Mar 03 Javascript
微信小程序中用WebStorm使用LESS
Mar 08 Javascript
JavaScript与Java正则表达式写法的区别介绍
Aug 15 Javascript
jQuery实现用户信息表格的添加和删除功能
Sep 12 jQuery
Bootstrap Table快速完美搭建后台管理系统
Sep 20 Javascript
node中的session的具体使用
Sep 14 Javascript
Vue监听滚动实现锚点定位(双向)示例
Nov 13 Javascript
webgl实现物体描边效果的方法介绍
Nov 27 Javascript
react-native fetch的具体使用方法
Nov 01 #Javascript
Vue异步加载about组件
Oct 31 #Javascript
微信小程序顶部可滚动导航效果
Oct 31 #Javascript
React Native使用Modal自定义分享界面的示例代码
Oct 31 #Javascript
Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果
Oct 31 #Javascript
使用nvm管理不同版本的node与npm的方法
Oct 31 #Javascript
javascript高级模块化require.js的具体使用方法
Oct 31 #Javascript
You might like
php面向对象全攻略 (四)构造方法与析构方法
2009/09/30 PHP
php使用异或实现的加密解密实例
2013/09/04 PHP
php广告加载类用法实例
2014/09/23 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
2010/12/10 Javascript
客户端js性能优化小技巧整理
2013/11/05 Javascript
javascript计算星座属相(十二生肖属相)示例代码
2014/01/09 Javascript
javascript 广告移动特效的实现代码
2016/06/25 Javascript
Javascript基础回顾之(一) 类型
2017/01/31 Javascript
underscore之function_动力节点Java学院整理
2017/07/11 Javascript
weex里Vuex state使用storage持久化详解
2017/09/09 Javascript
vue 移动端注入骨架屏的配置方法
2019/06/25 Javascript
javascript导出csv文件(excel)的方法示例
2019/08/25 Javascript
从零搭一个自用的前端脚手架的方法步骤
2019/09/23 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
python解析文件示例
2014/01/23 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
python 矩阵增加一行或一列的实例
2018/04/04 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
numpy给array增加维度np.newaxis的实例
2018/11/01 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
2019/01/15 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
2020/06/01 Python
css3实现简单的白云飘动背景特效
2020/10/28 HTML / CSS
HTML5 3D旋转相册的实现示例
2019/12/03 HTML / CSS
delegate与普通函数的区别
2014/01/22 面试题
机械制造专业个人的自我评价
2013/12/28 职场文书
团委竞选演讲稿
2014/04/24 职场文书
运动会的口号
2014/06/09 职场文书
温馨提示标语
2014/06/26 职场文书
创先争优演讲稿
2014/09/15 职场文书
领导干部整治奢华浪费之风思想汇报
2014/10/07 职场文书
反邪教警示教育活动总结
2015/05/09 职场文书
如何写观后感
2015/06/19 职场文书
搞笑婚庆主持词
2015/06/29 职场文书
python树莓派通过队列实现进程交互的程序分析
2021/07/04 Python
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server