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 相关文章推荐
javascript编程起步(第七课)
Feb 27 Javascript
Jquery作者John Resig自己封装的javascript 常用函数
Nov 09 Javascript
Array.prototype 的泛型应用分析
Apr 30 Javascript
基于JavaScript实现 获取鼠标点击位置坐标的方法
Apr 12 Javascript
开发中可能会用到的jQuery小技巧
Mar 07 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
Apr 02 Javascript
IE下JS保存图片的简单实例
Jul 15 Javascript
javascript中json对象json数组json字符串互转及取值方法
Apr 19 Javascript
浅谈React 服务器端渲染的使用
May 08 Javascript
layer.js open 隐藏滚动条的例子
Sep 05 Javascript
详解JavaScript作用域、作用域链和闭包的用法
Sep 03 Javascript
详解微信小程序轨迹回放实现及遇到的坑
Feb 02 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处理数据库数据如何将数据返回客户端并显示当前状态
2016/02/16 PHP
php 实现301重定向跳转实例代码
2016/07/18 PHP
PHP+mysql实现的三级联动菜单功能示例
2019/02/15 PHP
在laravel中实现事务回滚的方法
2019/10/10 PHP
PHP操作Redis常用命令的实例详解
2020/12/23 PHP
JavaScript 特殊字符
2007/04/05 Javascript
兼容IE和Firefox火狐的上下、左右循环无间断滚动JS代码
2013/04/19 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
js动态往表格的td中添加图片并注册事件
2014/06/12 Javascript
jQuery实现分章节锚点“回到顶部”动画特效代码
2015/10/23 Javascript
jQuery使用ajax跨域获取数据的简单实例
2016/05/18 Javascript
javascript 常用验证函数总结
2016/06/28 Javascript
jQuery基础_入门必看知识点
2016/07/04 Javascript
Javascript中常用的检测方法小结
2016/10/08 Javascript
Angular @HostBinding()和@HostListener()用法
2018/03/05 Javascript
详解Puppeteer 入门教程
2018/05/09 Javascript
详解mpvue中小程序自定义导航组件开发指南
2019/02/11 Javascript
微信小程序按顺序同步执行的两种方式
2019/12/20 Javascript
Vue实现PC端靠边悬浮球的代码
2020/05/09 Javascript
JavaScript实现网页下拉菜单效果
2020/11/20 Javascript
Python变量和字符串详解
2017/04/29 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
python字典嵌套字典的情况下找到某个key的value详解
2019/07/10 Python
Pandas之groupby( )用法笔记小结
2019/07/23 Python
Python坐标轴操作及设置代码实例
2020/06/04 Python
Python文件夹批处理操作代码实例
2020/07/21 Python
html5时钟实现代码
2010/10/22 HTML / CSS
阿巴庭院:Abba Patio
2019/06/18 全球购物
澳大利亚手袋、珠宝和在线时尚精品店:The Way
2019/12/21 全球购物
英国领先的高级美容和在线皮肤诊所:Face the Future
2020/06/17 全球购物
建材投资建议书
2014/05/16 职场文书
品牌推广策划方案
2014/05/28 职场文书
大学生志愿者活动总结
2014/06/27 职场文书
敬老院义诊活动总结
2015/05/07 职场文书
幼儿园大班开学寄语(2015秋季)
2015/05/27 职场文书
初中化学教学反思
2016/02/22 职场文书