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 学习第五课 Ajax 使用说明
May 17 Javascript
基于jquery的图片的切换(以数字的形式)
Feb 14 Javascript
CSS(js)限制页面显示的文本字符长度
Dec 27 Javascript
js图片处理示例代码
May 12 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
Oct 07 Javascript
javascript中动态函数用法实例分析
May 14 Javascript
zTree插件下拉树使用入门教程
Apr 11 Javascript
在web中js实现类似excel的表格控件
Sep 01 Javascript
浅谈AngularJS中$http服务的简单用法
May 15 Javascript
JS拖拽排序插件Sortable.js用法实例分析
Feb 20 Javascript
Jquery滑动门/tab切换实现方法完整示例
Jun 05 jQuery
Ajax异步刷新功能及简单案例
Nov 20 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使用ICQ网关发送手机短信
2013/10/30 PHP
[原创]php逐行读取txt文件写入数组的方法
2015/07/02 PHP
详解PHP的Yii框架的运行机制及其路由功能
2016/03/17 PHP
PHP实现通过URL提取根域名
2016/03/31 PHP
PHP通过加锁实现并发情况下抢码功能
2016/08/10 PHP
PHP简单实现数字分页功能示例
2016/08/24 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
2010/01/22 Javascript
jQuery $.get 的妙用 访问本地文本文件
2012/07/12 Javascript
JS获取几种URL地址的方法小结
2014/02/26 Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
2014/05/02 Javascript
php,js,css字符串截取的办法集锦
2014/09/26 Javascript
jQuery知识点整理
2015/01/30 Javascript
jQuery实现自定义事件的方法
2015/04/17 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
详解Vue 全局引入bass.scss 处理方案
2018/03/26 Javascript
简单的React SSR服务器渲染实现
2018/12/11 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
2020/07/17 Javascript
python实现定制交互式命令行的方法
2014/07/03 Python
python实现批量获取指定文件夹下的所有文件的厂商信息
2014/09/28 Python
Python中的zip函数使用示例
2015/01/29 Python
NumPy.npy与pandas DataFrame的实例讲解
2018/07/09 Python
python flask几分钟实现web服务的例子
2019/07/26 Python
python pyenv多版本管理工具的使用
2019/12/23 Python
Python datetime模块的使用示例
2021/02/02 Python
HTML5边玩边学(1)画布实现方法
2010/09/21 HTML / CSS
英国婚礼商城:Wedding Mall
2019/11/02 全球购物
中秋节礼品促销方案
2014/02/02 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
新兵入伍心得体会
2014/09/04 职场文书
2014年创先争优工作总结
2014/12/11 职场文书
合理缓解职场压力,让你随时保持最佳状态!
2019/06/21 职场文书
Python爬虫之爬取最新更新的小说网站
2021/05/06 Python
python设置 matplotlib 正确显示中文的四种方式
2021/05/10 Python
go使用Gin框架利用阿里云实现短信验证码功能
2021/08/04 Golang
使用refresh_token实现无感刷新页面
2022/04/26 Javascript