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 相关文章推荐
获取HTML DOM节点元素的方法的总结
Aug 21 Javascript
jQuery内置的AJAX功能和JSON的使用实例
Jul 27 Javascript
jQuery表格列宽可拖拽改变且兼容firfox
Sep 03 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
Jul 18 Javascript
Angular2内置指令NgFor和NgIf详解
Aug 03 Javascript
jQuery视差滚动效果网页实现方法经验总结
Sep 29 Javascript
JS新包管理工具yarn和npm的对比与使用入门
Dec 09 Javascript
js仿淘宝评价评分功能
Feb 28 Javascript
Vue循环组件加validate多表单验证的实例
Sep 18 Javascript
js实现div色块碰撞
Jan 16 Javascript
JS代码编译器Monaco使用方法
Jun 11 Javascript
js 实现Material UI点击涟漪效果示例
Sep 23 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
MySQL 日期时间函数常用总结
2012/06/12 PHP
一个PHP的ZIP压缩类分享
2014/05/04 PHP
JS获取scrollHeight问题想到的标准问题
2007/05/27 Javascript
查看源码的工具 学习jQuery源码不错的工具
2011/12/26 Javascript
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
页面加载完后自动执行一个方法的js代码
2014/09/06 Javascript
js确认框confirm()用法实例详解
2016/01/07 Javascript
jQuery实现验证年龄简单思路
2016/02/24 Javascript
原生javascript实现解析XML文档与字符串
2016/03/01 Javascript
JS中使用media实现响应式布局
2017/08/04 Javascript
JavaScript中Require调用js的实例分享
2017/10/27 Javascript
JavaScript登录验证基础教程
2017/11/01 Javascript
在 Node.js 中使用 async 函数的方法
2017/11/17 Javascript
JQuery元素快速查找与操作
2018/04/22 jQuery
Javascript实现购物车功能的详细代码
2018/05/08 Javascript
jquery+php后台实现省市区联动功能示例
2019/05/23 jQuery
微信小程序iOS下拉白屏晃动问题解决方案
2019/10/12 Javascript
详解如何在Vue项目中发送jsonp请求
2019/10/25 Javascript
weui上传多图片,压缩,base64编码的示例代码
2020/06/22 Javascript
vue组件开发之slider组件使用详解
2020/08/21 Javascript
Python 多核并行计算的示例代码
2017/11/07 Python
TensorFlow实现Logistic回归
2018/09/07 Python
python psutil模块使用方法解析
2019/08/01 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
2019/08/13 Python
PYTHON实现SIGN签名的过程解析
2019/10/28 Python
开发人员所需要知道的HTML5性能分析面面观
2012/07/05 HTML / CSS
仿酷狗html5手机音乐播放器主要部分代码
2013/05/15 HTML / CSS
高中三年学习生活的自我评价
2013/10/10 职场文书
职业教育毕业生求职信
2013/11/09 职场文书
老公给老婆的道歉信
2014/01/10 职场文书
课程改革实施方案
2014/03/16 职场文书
房屋出租协议书
2014/04/10 职场文书
镇创先争优活动总结
2014/08/28 职场文书
用人单位聘用意向书
2015/05/11 职场文书
SQL试题 使用窗口函数选出连续3天登录的用户
2022/04/24 Oracle
Python使用openpyxl模块处理Excel文件
2022/06/05 Python