BootStrap Table对前台页面表格的支持实例讲解


Posted in Javascript onDecember 22, 2016

1、bootstrap-table是在bootstrap的基础上面做了一些封装,所以在使用bootstrap-table之前要导入的js和css有

1)基本的还是jQuery

<script type="text/javascript" src="js/jquery.min.js?v=2.1.4"></script>

2)引入bootstrap

<script type="text/javascript" src="js/bootstrap.min.js?v=3.3.6"></script>
<link rel="stylesheet" href="css/bootstrap.min14ed.css?v=3.3.6">

 3)引入bootstrap-table

<script type="text/javascript" src="js/plugins/bootstrap-table/bootstrap-table.min.js"></script>
<link rel="stylesheet" href="css/plugins/bootstrap-table/bootstrap-table.min.css">

2、页面的编写方式(建议)

<div class="table">
 <table id="publish_model"></table>
 </div>

3、具体的数据加载和处理都在js里面完成,具体的实现过程不用自己去写,bootstrap-table都写好了

//这里是js的具体代码的样式处理
dynamicTable = $("#publish_model").bootstrapTable("destroy").bootstrapTable({
  url: "model/getPublishModel",           
  striped: true,           
  pagination: true, 
  singleSelect: true,
  clickToSelect: true, 
  pageNumber:1,      
  pageSize: 10,      
  pageList: [5, 10, 20], 
  sidePagination: "server",
  queryParamsType: "limit",
  queryParams: getPageMessage,
  minimunCountColumns: 2,
  height:$(window).height()*0.85,
  columns:[{
   field:"modelName",
   title:"模型名称",
   align: "center",
  },{
   field:"modelDescription",
   title:"模型描述",
   align: "center"
  },{
   field:"executeType",
   title:"执行类型",
   align: "center"
  },{
   field:"typeName",
   title:"模型类型",
   align: "center"
  },{
   field:"price",
   title:"价格",
   align: "center"
  },{
   field:"publishDate",
   title:"发布时间",
   align: "center",
   formatter: function(v){
     var date = new Date(v).format("yyyy-MM-dd hh:mm:ss");
     return "<span>"+date+"</span>";
   }
  },{
   field:"shortcutOperation",
   title:"快捷操作",
   align: "center",
   formatter: function(v,r,i){
    var str = "<div class='btn-group'>"+
       "<button id="+r.modelId+" class='btn btn-success btn-xs' onclick='applyReason(\""+r.modelId+"\")'>申请权限</button>"+
       "</div>"
    if(r.status=='00'){
     var str = "<div class='btn-group'>"+
        "<button class='btn btn-success btn-xs' style='background:#ccc;border-color:#ccc;' >已申请</button>"+
        "</div>"
    }
    return str;
   }
  }]
 });

//传递参数到后台
function getPageMessage(params){
 var temp={
  limit: params.limit,
  offset: params.offset,
  modelName:$("#model_name").val(),
  typeId:$("#modelType").val()
 };
 return temp;
}

 这里说明几个问题:

1)这里加入这部分( bootstrapTable("destroy") )的目的是页面存在刷新效果需要重新加载

2)相对应的设置参考官方文档:http://bootstrap-table.wenzhixin.net.cn/documentation/

3)后面简单说一下具体的效果设置:在具体的单元格数据中可以使用formatter()方法来实现,其中存在3个值v,r,i分别是值,行数据,角标。具体的效果可以参考着bootstrap的方式来实现通过return的方式来给页面呈现不一样的效果,当然也可以设置直接设置效果通过cellStyle方法也是可以的!

4)传参:这个根据个人的一个实现功能来做,不管有没有数据,后台传过去的不是null而是""。limit和offset是做分页处理需要传给后台 

4、然后就是后台的一个处理(很重要)

@RequestMapping("/getPublishModel")
 @ResponseBody
 public Map<String, Object> getModelPublishList(Integer limit,Integer offset,String modelName,String typeId,HttpServletResponse response) throws IOException{
  //设置相应数据格式
  response.setContentType("application/json;charset=utf-8");
  try {
   // 获取相应数据
   Map<String, Object> modelList = modelManager
     .getModelPublishListData(limit, offset, modelName,typeId);
   return modelList;
  } catch (Exception e) {
   e.printStackTrace();
   throw e;
  } finally {
   HibernateSessionFactory.closeSession();
  }
 }

说明:

1)数据返回的形式:

Map<String, Object> map = new HashMap<String,Object>();
map.put("total", "分页时采用的数据总条数");//这里可以单独写一个sql来实现总条数
map.put("rows", "数据的list集合");//这里可以获取相对应的数据

注意:因为前台和字段名字要对应所以,list的泛型可以是对象的形式,也可以是Map<String, Object>的形式

List list = querySql.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();//这是我用hibernate执行的map结果会自动封装成Map

sql里面一定要设置别名,比如:m.modelId AS modelId等

2)返回的时候通过json的方式放回,这里不建议springmvc自动返回,建议通过PrintWriter的方式写出到前台,不然会出现json方面的错误。

5、展示效果

BootStrap Table对前台页面表格的支持实例讲解

提示:搜索功能需要自己做,传入的参数也是通过上面的传入

6.问题:因为考虑到接送的传输问题,在bootstrap-table里面存在post请求的问题,这也是我一直没有解决的问题!

1)因为bootstrap-table对post请求进行了封装,在使用post请求的时候取不到数据(我也在研究这个问题,希望高人指点)

2)后台数据封装的字段名问题,必须要一样才可以,不用别名返回的是字段名1234。。这个是因为hibernate造成的,其他框架略过

Javascript 相关文章推荐
jquery高效反选具体实现
May 05 Javascript
javascript中负数算术右移、逻辑右移的奥秘探索
Oct 17 Javascript
node.js中的path.delimiter方法使用说明
Dec 09 Javascript
JS实现自动变化的导航菜单效果代码
Sep 09 Javascript
JavaScript判断FileUpload控件上传文件类型
Sep 28 Javascript
学习JavaScript设计模式(多态)
Nov 25 Javascript
给before和after伪元素设置js效果的方法
Dec 04 Javascript
javascript兼容性(实例讲解)
Aug 15 Javascript
浅谈Vue2.0中v-for迭代语法的变化(key、index)
Mar 06 Javascript
vue ssr 实现方式(学习笔记)
Jan 18 Javascript
微信小程序搭建自己的Https服务器
May 02 Javascript
微信小程序页面传多个参数跳转页面的实现方法
May 17 Javascript
JS实现的简单轮播图运动效果示例
Dec 22 #Javascript
基于BootStrap与jQuery.validate实现表单提交校验功能
Dec 22 #Javascript
详解js的事件代理(委托)
Dec 22 #Javascript
HTML页面定时跳转方法解析(2种任选)
Dec 22 #Javascript
vue双向绑定的简单实现
Dec 22 #Javascript
jQuery使用Layer弹出层插件闪退问题
Dec 22 #Javascript
深入理解jquery中extend的实现
Dec 22 #Javascript
You might like
PHP APC的安装与使用详解
2013/06/13 PHP
PHP函数之日期时间函数date()使用详解
2013/09/09 PHP
[原创]静态页面也可以实现预览 列表不同的显示方式
2006/10/14 Javascript
JavaScript和JQuery实用代码片段(一)
2010/04/07 Javascript
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
Javascript代码在页面加载时的执行顺序介绍
2013/05/03 Javascript
Jquery Uploadify上传带进度条的简单实例
2014/02/12 Javascript
JS获取当前网页大小以及屏幕分辨率等
2014/09/05 Javascript
详解JavaScript基于面向对象之继承实例
2015/12/16 Javascript
js小数计算小数点后显示多位小数的实现方法
2016/05/30 Javascript
vue.js全局API之nextTick全面解析
2017/07/07 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
validform表单验证的实现方法
2019/03/08 Javascript
详解Vue中的scoped及穿透方法
2019/04/18 Javascript
Vue中props的详解
2019/05/16 Javascript
微信公众号生成新浪短网址的实现(快速生成)
2019/08/18 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
2020/03/06 Javascript
Python socket编程实例详解
2015/05/27 Python
Python实现修改IE注册表功能示例
2018/05/10 Python
python实现自动发送报警监控邮件
2018/06/21 Python
解决安装python库时windows error5 报错的问题
2018/10/21 Python
django的分页器Paginator 从django中导入类
2019/07/25 Python
python是否适合网页编程详解
2019/10/04 Python
python实现KNN分类算法
2019/10/16 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
2020/03/23 Python
python模块如何查看
2020/06/16 Python
如何解决安装python3.6.1失败
2020/07/01 Python
Python如何操作docker redis过程解析
2020/08/10 Python
Python matplotlib模块及柱状图用法解析
2020/08/10 Python
Python将QQ聊天记录生成词云的示例代码
2021/02/10 Python
CPB肌肤之钥美国官网:Clé de Peau Beauté
2017/09/05 全球购物
威尔逊皮革:Wilsons Leather
2018/12/07 全球购物
英国外籍人士的在线超市:British Corner Shop
2019/06/03 全球购物
锦旗标语大全
2014/06/23 职场文书
电工实训报告总结
2014/11/05 职场文书
学校重阳节活动总结
2015/03/24 职场文书