bootstrap-table使用记录
来源:互联网 发布:阿里云服务器黑洞 编辑:程序博客网 时间:2024/06/04 07:24
最近项目使用了之前没用过的表格控件bootstrap-table,用法和mmGrid等表格控件大同小异。
HTML
<div class="overlimit-h"><div id="tab-content" class="tab-remote"><table class="table table-bordered table-striped" id="demo-table"></table></div></div>
JS
jQuery(document).ready(function($) { //表格控件初始化 var url = "/user/listUserInfo"; bTable = $('#demo-table').bootstrapTable({ method:'POST', dataType:'json', contentType: "application/x-www-form-urlencoded",//发送到服务器的数据编码类型 cache: false,//设置为 false 禁用 AJAX 数据缓存 striped: true, //是否显示行间隔色 sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*) url:url,//请求连接 height: $(window).height() - 110, width:$(window).width(), showColumns:false,//是否显示 内容列下拉框 pagination:true,//设置为 true 会在表格底部显示分页条 queryParamsType:'', queryParams :queryParams,//请求服务器数据时,你可以通过重写参数的方式添加一些额外的参数 minimumCountColumns:2,//当列数小于此值时,将隐藏内容列下拉框 pageNumber:1, //初始化加载第一页,默认第一页 pageSize: 25, //每页的记录行数(*) pageList: [10, 25, 50, 100], //可供选择的每页的行数(*) uniqueId: "id", //每一行的唯一标识,一般为主键列 showExport: false, exportDataType: 'all', responseHandler: responseHandler, columns: [ [{ checkbox: true,//显示复选框 align : 'center', valign : 'middle', colspan: 1,//单元格可横跨的列数 rowspan: 2 //单元格可横跨的行数 }, { visible: false,//隐藏此列 field : 'USER_ID', title : '序号', align : 'center', valign : 'middle', colspan: 1, rowspan: 2 }, { field : 'USER_NAME', title : '用户名', align : 'center', valign : 'middle', colspan: 1, rowspan: 2 }, { field : 'LOGIN_NAME', title : '账号', align : 'center', valign : 'middle', colspan: 1, rowspan: 2 },{ field : 'LINK_TEL', title : '联系电话', align : 'center', valign : 'middle', colspan: 1, rowspan: 2 },{ field : 'NOTES', title : '备注', align : 'center', valign : 'middle', colspan: 1, rowspan: 2 },{ title : '权限', align : 'center', valign : 'middle', colspan: 4, rowspan: 1 }, { title: '操作', align: 'center', valign : 'middle', events: operateEvents, colspan: 1, rowspan: 2, formatter:function(value,row,index){ return '<button class="RoleOfC btn btn-default btn-xs">修改密码</button> <button class="RoleOfA btn btn-info btn-xs">修改信息</button> <button class="RoleOfB btn btn-danger btn-xs">删除</button>'; } }], [//这部分数据会显示在colspan为4的单元格下方 { field : 'IS_BROWSER', title : '浏览', align : 'center', valign : 'middle', },{ field : 'IS_OPER', title : '操作', align : 'center', valign : 'middle', },{ field : 'IS_DATA_UPDATE', title : '操作', align : 'center', valign : 'middle', },{ field : 'IS_DEBUG', title : '调试', align : 'center', valign : 'middle', } ] ] }); }); //请求传参(条件查询) function queryParams(params) { var param = { searchParam : $("#searchParam").val(), pageNumber: params.pageNumber, //pageNumber和pageSize用于分页 pageSize : params.pageSize } return param;} //返回数据的格式 function responseHandler(res) { if (res) { return { "rows" : res.rows, "total" : res.total }; } else { return { "rows" : [], "total" : 0 }; }} //表格按钮点击事件window.operateEvents = { 'click .RoleOfA': function (e, value, row, index) { lookOverDetail(row); }, 'click .RoleOfB': function (e, value, row, index) { DeleteData(row["USER_ID"], 1); }, 'click .RoleOfC': function (e, value, row, index) { changePassword(row); }}; //表格搜索刷新事件 function loadData(){ $('#demo-table').bootstrapTable('refresh',"/user/listUserInfo"); }//批量删除function DeleteMutiRows() {var rowsdata = $('#demo-table').bootstrapTable('getAllSelections');var ids = "";for (i = 0; i < rowsdata.length; i++) { if (i != 0) ids += ','; ids += rowsdata[i]["USER_ID"];}if(rowsdata.length!=0){DeleteData(ids, rowsdata.length);}else{layer.alert("请选择至少一条数据!");}}//删除function DeleteData(ids, len) { layer.confirm('您确定要删除这' + len + '条数据吗?', { btn: ['确定', '取消'] }, function(index) { layer.close(index); $.ajax({ type: 'POST', url: "/user/deleteUserInfo", data: { "userId": ids }, success: function(result) { if (result["result"] == "success") { layer.alert('删除成功', { icon: 1 }); loadData(); } }, error: function(a) { layer.alert('删除失败', { icon: 2 }); }, dataType: 'json' }); });}
Controller(参数封装)
@RequestMapping(value="/listUserInfo", method ={RequestMethod.POST})@ResponseBodypublic String listUserInfo(int pageSize,int pageNumber,String searchParam) {Map<String, Object> paramMap = new HashMap<String, Object>();int offset=(pageNumber-1)*pageSize; int pageSizes=pageSize; paramMap.put("offset", offset); paramMap.put("pageSizes", pageSizes); paramMap.put("userName", searchParam);String str = us.listUserInfo(paramMap);return str;}@RequestMapping(value="/deleteUserInfo", method ={RequestMethod.POST})@ResponseBodypublic String deleteUserInfo(String userId) {String result = us.deleteUserInfo(userId);return result;}
Service
public String listUserInfo(Map<String, Object> paramMap) {try {Integer dataCount = userDao.queryDataCount();List<Map<String,Object>> mList = userDao.listUserInfo(paramMap);ObjectMapper om = new ObjectMapper();//json格式转换String resultStr = om.writeValueAsString(mList);//数据返回格式:此处应该新建Map来储存返回的数据,为了便于浏览,先写成这种格式,此格式前段控件同样可以接受并展示数据return "{\"total\":" + dataCount + ",\"rows\":" + resultStr + "}";} catch (Exception e) {e.printStackTrace();}return "success";}public String deleteUserInfo(String userId) {try {List<String> listIds = Arrays.asList(userId.split(","));userDao.batchDeleteUserInfo(listIds);} catch (Exception e) {e.printStackTrace();}return "{\"result\":\"success\"}";}
Mapper.java
List<Map<String, Object>> listUserInfo(Map<String, Object> map); int queryDataCount(); int batchDeleteUserInfo(@Param("userIdList")List<String> userIdList);
Mapper.xml
<select id="listUserInfo" parameterType="hashmap" resultType="hashmap"> select USER_ID, LOGIN_NAME, PASSWORD, USER_NAME, LINK_TEL, NOTES, (case IS_BROWSER when '0' then '否' when '1' then '是' else IS_BROWSER end) as IS_BROWSER, (case IS_OPER when '0' then '否' when '1' then '是' else IS_OPER end) as IS_OPER, (case IS_DATA_UPDATE when '0' then '否' when '1' then '是' else IS_DATA_UPDATE end) as IS_DATA_UPDATE, (case IS_DEBUG when '0' then '否' when '1' then '是' else IS_DEBUG end) as IS_DEBUG from user_t where 1=1 <if test="userName!=null"> and USER_NAME like '%${userName}%' </if> limit #{offset},#{pageSizes} </select> <select id="queryDataCount" resultType="java.lang.Integer"> select count(*) from user_t </select> <delete id="batchDeleteUserInfo" parameterType="hashmap"> delete from user_t <where> <foreach collection="userIdList" item="userId" separator="or"> USER_ID = ${userId} </foreach> </where> </delete>
效果:
阅读全文
0 0
- bootstrap-table使用记录
- bootstrap table使用小记
- bootstrap-table使用总结
- Bootstrap Table使用分享
- Bootstrap Table使用分享
- bootstrap-table操作使用
- bootstrap table使用总结
- 使用BootStrap Table
- bootstrap-table使用总结
- bootstrap table 使用简述
- bootStrap table 使用
- bootstrap-table使用总结
- bootstrap-table使用
- bootStrap table 使用
- Bootstrap Table使用分享
- bootstrap table使用总结
- bootstrap-table的使用
- bootstrap-table的使用
- ICE ZEROC文档翻译 (二)(Java)
- hello_flask
- Chrome安装Postman插件并解决“只能通过Chrome网上应用商店安装该程序”问题
- 跪求CAIDA DDOS 2007 数据集下载
- 与其让界面扁平不如让信息层级扁平
- bootstrap-table使用记录
- linux 文件管理
- 可喜可贺,thinkphp 5又一个开源B2B2C系统上了小程序
- ES6学习之路8----WeakSet数据结构
- java-----分支.循环
- Reinforcement Learning 的核心基础概念及实现
- 一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
- HashTable
- 123. Best Time to Buy and Sell Stock III