【JAVA】JSP+layui框架 静态表格转化成数据表格

时间:2021-06-20 23:48:56
<table  lay-filter="demo" class="layui-table"  id="excTable">
<thead>
<tr >
<th lay-data="{field:'emp_ICNumber', width:150, sort:true}">工号</th>
<th lay-data="{field:'emp_Name', width:150, sort:true}">姓名</th>
<th lay-data="{field:'emp_WorkTeam', width:100, sort:true}">班次</th>
<th lay-data="{field:'emp_AlcoholStatus', width:100, sort:true}">考勤方式</th>
<th lay-data="{field:'emp_Cause', width:150, sort:true}">考勤状态</th>
<th lay-data="{field:'emp_TestDateTime', width:200, sort:true}">考勤时间</th>
<th lay-data="{field:'emp_workHours', width:100, sort:true}">工时</th>
</tr>
</thead>
<tbody>
<c:forEach items="${maps[0].attences}" var="model">
<tr>
<%--<td style="display: none">${model.id}</td>--%>
<td>${model.emp_ICNumber}</td>
<td>${model.emp_Name}</td>
<td>${model.emp_WorkTeam}</td>
<c:if test="${model.emp_AlcoholStatus=='0'}">
<td>正常</td>
</c:if>
<c:if test="${model.emp_AlcoholStatus=='1'}">
<td>饮酒</td>
</c:if>
<c:if test="${model.emp_AlcoholStatus=='2'}">
<td>醉酒</td>
</c:if>
<c:if test="${model.emp_AlcoholStatus=='4'}">
<td>手动添加,未监测</td>
</c:if>
<td>${model.emp_Cause}</td>
<td>${model.emp_TestDateTime}</td>
<td>${model.emp_workHours}</td> </tr>
</c:forEach>
</tbody>
</table>
</tr>
</table>

表格代码如上,因为有些未使用接口的原因,数据并非是JSON字符串传输到前台,而是绑定的方式,所以生成了静态表格,而layui很多方法都是基于数据表格的,而且layui有方法将静态表格转换成数据表格,然后就可以使用数据表格的所有方法啦。

在<th>中增加属性

lay-data="{field:'emp_ICNumber', width:150, sort:true}"

上面代码是我使用的属性:字段的名称,宽度,以及是否使用筛选功能。不需要筛选的可以不使用sort属性。

然后就是js和css的代码了

<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%> <!--头部加上这个是为了获取项目的地址--> <link rel="stylesheet" href="<%=basePath %>lib/layui/css/layui.css">
<script type="text/javascript" src="<%=basePath %>js/jquery.min.js"></script>
<script src="<%=basePath %>lib/layui/layui.js" charset="utf-8"></script>

由于layui是基于jquery的,所以一般还得引用jquery文件,然后是layui的js以及css文件。

<script>
layui.use(['laydate','table'], function () {
var table = layui.table; //转换静态表格
table.init('demo', {
height: 330 //设置高度
,limit: 10 //注意:请务必确保 limit 参数(默认:10)是与你服务端限定的数据条数一致
,page: true //开启分页
//支持所有基础参数
});
});
</script>

代码如上,必须先使用layui.use方法引用table组件,并将方法赋给table,然后才能使用table.init方法。

然后这个是将table转换成数据表格的内置方法init(初始化) 表格<table>中使用属性  lay-filter="demo" 然后方法中初始化这个静态表格。接下来就是