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 动态table添加colspan\rowspan 参数的方法
Jul 25 Javascript
jQuery 获取、设置HTML或TEXT内容的两种方法
May 23 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
Jun 19 Javascript
jQueryUI Datepicker组件设置日期高亮
Oct 13 Javascript
Vue.js中用v-bind绑定class的注意事项
Dec 13 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
Apr 11 Javascript
JavaScript插件Tab选项卡效果
Nov 14 Javascript
微信小程序实现带缩略图轮播效果
Nov 04 Javascript
如何自动化部署项目?折腾服务器之旅~
Apr 16 Javascript
vue简单封装axios插件和接口的统一管理操作示例
Feb 02 Javascript
基于vue+echarts 数据可视化大屏展示的方法示例
Mar 09 Javascript
Js逆向实现滑动验证码图片还原的示例代码
Mar 10 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
DC的38部超级英雄动画电影
2020/03/03 欧美动漫
用php获取本周,上周,本月,上月,本季度日期的代码
2009/08/05 PHP
PHP中使用gettext来支持多语言的方法
2011/05/02 PHP
Admin generator, filters and I18n
2011/10/06 PHP
PHP关联链接常用代码
2012/11/05 PHP
php析构函数的简单使用说明
2015/08/24 PHP
PHP5.2中PDO的简单使用方法
2016/03/25 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
2017/05/23 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
解决 firefox 不支持 document.all的方法
2007/03/12 Javascript
fancybox modal的完美解决(右上的X)
2012/10/30 Javascript
asm.js使用示例代码
2013/11/28 Javascript
详解JS中Array对象扩展与String对象扩展
2016/01/07 Javascript
AngularJS 依赖注入详解和简单实例
2016/07/28 Javascript
vue-router 权限控制的示例代码
2017/09/21 Javascript
微信小程序实现YDUI的ScrollTab组件
2018/02/02 Javascript
vue better scroll 无法滚动的解决方法
2018/06/07 Javascript
关于Vue项目跨平台运行问题的解决方法
2018/09/18 Javascript
Javascript通过控制类名更改样式
2019/05/24 Javascript
Vue3.0结合bootstrap创建多页面应用
2019/05/28 Javascript
vue组件开发之tab切换组件使用详解
2020/08/21 Javascript
为什么JavaScript中0.1 + 0.2 != 0.3
2020/12/03 Javascript
Python群发邮件实例代码
2014/01/03 Python
python实现合并两个数组的方法
2015/05/16 Python
python妹子图简单爬虫实例
2015/07/07 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
跑步、骑行和铁人三项的高性能眼镜和服装:ROKA
2018/07/06 全球购物
利达恒信公司.NET笔试题面试题
2016/03/05 面试题
工商管理本科毕业生求职信范文
2013/10/05 职场文书
办公室副主任岗位职责
2013/11/25 职场文书
协议书范本
2014/04/23 职场文书
开业庆典嘉宾致辞
2015/08/01 职场文书
2016年优秀少先队辅导员事迹材料
2016/02/26 职场文书
关于Spring配置文件加载方式变化引发的异常详解
2022/01/18 Java/Android
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏