我的代码是这样的:
<table border="1">
<tr>
<th>员工编号</th>
<th>员工姓名</th>
<th>部门名称</th>
<th>签到时间</th>
<th>总签到次数</th>
</tr>
<c:forEach items="${list}" varStatus="dataList" var="list">
<tr>
<td><c:out value="${list.getPin()}"/></td>
<td><c:out value="${list.getName()}"/></td>
<td><c:out value="${list.getDefaultdeptid()}"/></td>
<td><c:out value="${list.getChecktime()}"/></td>
</tr>
</c:forEach>
</table>
求问下这个统计要这么写阿
操作dom,建立一个新的td,设置一个标志属性,比如说把id设置为index或者把class设置为同一个方便进行dom元素获取,
再js中通过id选择器或者类选择器可以获取属性,这样的话,我们可以对获取的列表进行处理,统计出相同的人的次数,再通过dom把数字写入页面。
怎么操作dom或者进行js操作,可以js的文档。也可以再问我
https://jingyan.baidu.com/article/29697b914ec89aab21de3c5b.html
这种情况你只能自己在后台或者页面把数据组装好然后根据下标和rowspan的计算用标签判断去实现,没办法实现双向绑定
你这个统计方式是感觉很特别,感觉不是很好,建议是一行记录一个人的信息即可,多余的去重处理,在后台处理好之后,再拿到前台进行展示。
统计这种运算应该放到后台处理,处理完了再把结果返回前端,刷新前端页面。如何统计要看你的需求了,如果你是按次数统计很简单,直接用select count(*) from 表名。如果你要按人头统计签到,就需要根据【员工姓名】字段去重了。望采纳
提供个思路,
1.获取名字相同的个数.
2.获得到该长度合并行,比如得到第一个人的名字有2个,就合并2行,再把得到的的个数放进列里面就行