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 的dialog和ztree结合实现步骤
Aug 02 Javascript
jquery+css实现的红色线条横向二级菜单效果
Aug 22 Javascript
jquery.cookie.js用法实例详解
Dec 25 Javascript
bootstrap daterangepicker双日历时间段选择控件详解
Jun 15 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
Aug 07 Javascript
webpack学习教程之前端性能优化总结
Dec 05 Javascript
layui实现下拉框三级联动
Jul 26 Javascript
利用JS响应式修改vue实现页面的input值
Sep 02 Javascript
对Layer UI 模块化的用法详解
Sep 26 Javascript
微信小程序实现分享商品海报功能
Sep 30 Javascript
深入解读VUE中的异步渲染的实现
Jun 19 Javascript
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
Jul 18 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操作XML中XPath的应用示例
2019/07/04 PHP
javascript 主动派发事件总结
2011/08/09 Javascript
jQuery Jcrop插件实现图片选取功能
2011/11/23 Javascript
Jquery实现点击切换图片并隐藏显示内容(2种方法实现)
2013/04/11 Javascript
javascript 实现子父窗体互相传值的简单实例
2014/02/17 Javascript
js控制输入框获得和失去焦点时状态显示的方法
2015/01/30 Javascript
Javascript中typeof 用法小结
2015/05/12 Javascript
浅析script标签中的defer与async属性
2016/11/30 Javascript
bootstrap中模态框、模态框的属性实例详解
2017/02/17 Javascript
nodejs入门教程二:创建一个简单应用示例
2017/04/24 NodeJs
Ext JS 实现建议词模糊动态搜索功能
2017/05/13 Javascript
vue之数据交互实例代码
2017/06/20 Javascript
Bootstrap modal只加载一次数据的解决办法(推荐)
2017/11/24 Javascript
Parcel 打包示例(React HelloWorld)
2018/01/16 Javascript
vue代理和跨域问题的解决
2018/07/18 Javascript
nodejs 十六进制字符串型数据与btye型数据相互转换
2018/07/30 NodeJs
Js参数RSA加密传输之jsencrypt.js的使用
2020/02/07 Javascript
[01:29]2014DOTA2展望TI 剑指西雅图DK战队专访
2014/06/30 DOTA
python解决字典中的值是列表问题的方法
2013/03/04 Python
跟老齐学Python之赋值,简单也不简单
2014/09/24 Python
python之wxPython应用实例
2014/09/28 Python
python利用beautifulSoup实现爬虫
2014/09/29 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
django中的setting最佳配置小结
2017/11/21 Python
详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
2019/08/27 Python
python读取word 中指定位置的表格及表格数据
2019/10/23 Python
pycharm激活方法到2099年(激活流程)
2020/09/22 Python
amazeui页面分析之登录页面的示例代码
2020/08/25 HTML / CSS
.NET里面如何取得当前的屏幕分辨率
2012/12/06 面试题
业务部主管岗位职责
2014/01/29 职场文书
服务员岗位责任制
2014/02/11 职场文书
公司采购主管岗位职责
2014/06/17 职场文书
我的中国梦演讲稿初中篇
2014/08/19 职场文书
班主任先进事迹材料
2014/12/17 职场文书
英文产品推荐信
2015/03/27 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书