table模块/数据表格
来源:互联网 发布:dot js 是什么 编辑:程序博客网 时间:2024/06/02 06:00
简单实现了数据加载
table模块用于对表格进行一些列功能和动态化数据操作,涵盖了日常业务所涉及的几乎全部需求。支持固定表头、固定行、固定列左/列右,支持拖拽改变列宽度,支持排序,支持多级表头,支持单元格的自定义模板,支持对表格重载(比如搜索、条件筛选等),支持复选框,支持分页,支持单元格编辑等等一些列功能。
相关文档:http://www.layui.com/doc/modules/table.html
其实这个插件用起来很方便,功能也是相当的强大。
查看文档接口返回的数据格式:
默认接受的数据格式{ code: 0, msg: "", count: 1000, data: []}
所以我们只要返回相关的数据就可以了。
jsp主要引入相关的文件:
<link href="layui/css/layui.css" type="text/css" /><script src="layui/layui.js" type="text/javascript"></script>
相关js代码:
<body> <div align="center" style="width:750px;height: 400px;"> <table id="user" lay-filter="test"></table> </div> <script type="text/javascript"> layui.use('table', function() { var table = layui.table; //第一个实例 table.render({ elem: '#user', loading:true, skin: 'line', //行边框风格 even : true,//开启隔行背景 size : 'sm',//小尺寸的表格 url : '<%=basePath%>user/page.do', limit : 10, limits : [ 10, 20, 30 ], page : { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档 layout : [ 'prev', 'page', 'next', 'skip','limit' ], //自定义分页布局 groups : 5//只显示 1 个连续页码 }, cols : [ [ //表头 { field : 'id', title : 'ID', width : 200, sort : true, //fixed : 'left' }, { field : 'userName', title : '用户名', width : 80 }, { field : 'sex', title : '性别', width : 80, sort : true }, { field : 'idCard', title : '身份证', width : 240 }, { fixed : 'right', title : '操作', width : 200, align : 'center', toolbar : '#barDemo' } ] ] }); //监听工具条 table.on('tool(test)', function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值" var data = obj.data; //获得当前行数据 var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值) var tr = obj.tr; //获得当前行 tr 的DOM对象 if(layEvent === 'detail'){ //查看 layer.msg('ID:'+ data.id + ' 的查看操作'); } else if(layEvent === 'del'){ //删除 layer.confirm('真的删除行么', function(index){ obj.del(); //删除对应行(tr)的DOM结构,并更新缓存 layer.close(index); //向服务端发送删除指令 }); } else if(layEvent === 'edit'){ //编辑 //do something layer.alert('编辑行:<br>'+ JSON.stringify(data)); //同步更新缓存对应的值 obj.update({ username: '123' ,title: 'xxx' }); } }); }); </script><script type="text/html" id="barDemo"> <a class="layui-btn layui-btn-xs" lay-event="detail">查看</a> <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a> <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a> <!-- 这里同样支持 laytpl 语法,如: --> {{# if(d.auth > 2){ }} <a class="layui-btn layui-btn-mini" lay-event="check">审核</a> {{# } }}</script></body>
后台相关代码:
Controller:
@RequestMapping("/user") public String user() { return "list"; } @RequestMapping("/page") @ResponseBody public Result getPage(int page, int limit) { int total = userService.getCount(); List<User> userList = userService.getPageList(page, limit); Result result = new Result(); result.setCode(0); result.setMsg("成功"); result.setCount(total); result.setData(userList); return result; }
User实体类:
public class User implements Serializable { private static final long serialVersionUID = -3929922389417785653L; private String id; private String userName; private String password; private String idCard; private String sex; public User() { } public User(String id, String userName, String password, String idCard, String sex) { super(); this.id = id; this.userName = userName; this.password = password; this.idCard = idCard; this.sex = sex; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getIdCard() { return idCard; } public void setIdCard(String idCard) { this.idCard = idCard; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } @Override public String toString() { return "User [id=" + id + ", userName=" + userName + ", password=" + password + ", idCard=" + idCard + ", sex=" + sex + "]"; }}
返回结果封装类:
Result:
public class Result implements Serializable { private static final long serialVersionUID = -7397549799489046511L; // 数据状态的字段名称 private int code; // 状态信息的字段名称 private String msg; // 数据总数的字段名称 private int count; // 数据列表的字段名称 private List<?> Data; public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public int getCount() { return count; } public void setCount(int count) { this.count = count; } public List<?> getData() { return Data; } public void setData(List<?> data) { Data = data; }}
主要的代码都贴上了,下面是显示效果图:
阅读全文
0 0
- table模块/数据表格
- table 表格 中数据换行
- asp.net中用table表格绑定数据
- java中table表格数据居中问题
- 将Highcharts图表数据生成Table表格
- 使用AJAX动态生成table表格数据
- boostrap-table插件分页展示表格数据
- 通过js将table表格数据下载为Excel表格
- 通过js将table表格数据下载为Excel表格
- table表格
- 表格table
- 表格table
- Table表格
- Table表格
- table:表格
- table表格
- Table表格
- table表格
- sleep 和 wait 的区别
- 解决保存标签到数据库转义成gt和lt等情况
- rabbitMQ第四篇:远程调用
- 创建动画剪辑
- JS中判断对象是否含有某个属性的方法
- table模块/数据表格
- 一些有意思的网站
- js正则表达式-入门篇
- django-rest-framework视图层的使用(二)
- MyBatis 二级缓存机制
- yii2 behaviors
- java 通过poi兼容.xls和.xlsx表格导入
- 安装Ubuntu 16.04后的系统设置和软件安装(搜狗输入法、Chrome、网易云音乐等)
- Android 简述: new Handler().postDelayed() 延迟intent跳转