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 相关文章推荐
ExtJs事件机制基本代码模型和流程解析
Oct 24 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
Aug 05 Javascript
jquery实现左右滑动菜单效果代码
Aug 27 Javascript
jquery+css实现动感的图片切换效果
Nov 25 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
Feb 14 Javascript
ES6中字符串string常用的新增方法小结
Nov 07 Javascript
如何开发出更好的JavaScript模块
Dec 22 Javascript
基于Vue中点击组件外关闭组件的实现方法
Mar 06 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
Apr 28 Javascript
vue router 跳转后回到顶部的实例
Aug 31 Javascript
详解使用uni-app开发微信小程序之登录模块
May 09 Javascript
Vue 自定义指令实现一键 Copy功能
Sep 16 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中simplexml_load_string函数使用说明
2011/01/01 PHP
初学PHP的朋友 经常问的一些问题。不断更新
2011/08/11 PHP
PHP语法自动检查的Vim插件
2014/08/11 PHP
javascript some()函数用法详解
2014/11/13 PHP
php中ob_flush函数和flush函数用法分析
2015/03/18 PHP
php取得字符串首字母的方法
2015/03/25 PHP
PHP类的声明与实例化及构造方法与析构方法详解
2016/01/26 PHP
PJ Blog修改-禁止复制的代码和方法
2006/10/25 Javascript
Google排名中的10个最著名的 JavaScript库
2010/04/27 Javascript
jquery刷新页面的实现代码(局部及全页面刷新)
2011/07/11 Javascript
如何使用json在前后台进行数据传输实例介绍
2013/04/11 Javascript
jquery选择器原理介绍($()使用方法)
2014/03/25 Javascript
node.js中的http.response.write方法使用说明
2014/12/14 Javascript
jquery马赛克拼接翻转效果代码分享
2015/08/24 Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
2016/02/25 Javascript
jQuery内容过滤选择器用法示例
2016/09/09 Javascript
JS实现仿百度文库评分功能
2017/01/12 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
vue页面加载闪烁问题的解决方法
2018/03/28 Javascript
vue路由拦截及页面跳转的设置方法
2018/05/24 Javascript
如何利用nodejs自动定时发送邮件提醒(超实用)
2020/12/01 NodeJs
pymongo给mongodb创建索引的简单实现方法
2015/05/06 Python
Python抓取框架 Scrapy的架构
2016/08/12 Python
python 打印对象的所有属性值的方法
2016/09/11 Python
Python实现的字典值比较功能示例
2018/01/08 Python
浅谈Python2获取中文文件名的编码问题
2018/01/09 Python
python3中os.path模块下常用的用法总结【推荐】
2018/09/16 Python
对Python3之方法的覆盖与super函数详解
2019/06/26 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
Python对Tornado请求与响应的数据处理
2020/02/12 Python
文员自我评价怎么写
2013/09/19 职场文书
国际贸易专业推荐信
2013/11/15 职场文书
中专毕业生自我鉴定
2013/11/21 职场文书
酒后驾驶检讨书
2014/01/27 职场文书
委托书范文
2014/04/02 职场文书
汽车机电维修工求职信
2014/09/30 职场文书