<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<table width="100%" border="0" cellspacing="0" cellpadding="0" >
<tr>
<th>
报表名称
</th>
</tr>
<c:set var="tempCount" value="0"></c:set><%--临时变量 --%>
<c:set var="rowspanCount" value="0"></c:set><%--记录合并列数 --%>
<c:set var="tempFrist" value="0"></c:set><%--记录合并开始位置 --%>
<c:set var="tempEnd" value="-1"></c:set><%--记录合并结束位置 --%>
<c:forEach items="${list}" var="accountConfig" varStatus="status" >
<tr>
<%--利用一个结果集List<Bean>来生成,数据过多会加重客户断负担 --%>
<c:if test="${status.index>=tempEnd}">
<c:set var="rowspanCount" value="0"></c:set><%--清楚历史数据 --%>
<c:forEach var="item2" items="${list}" varStatus="status2">
<%-- tablename指要合并的属性 --%>
<c:if test="${accountConfig.tablename==item2.tablename}">
<c:set var="tempFrist" value="${status.index }"></c:set>
<c:set var="rowspanCount" value="${rowspanCount+1 }"></c:set>
<c:set var="tempEnd" value="${tempFrist+rowspanCount }"></c:set>
</c:if>
</c:forEach>
</c:if>
<c:if test="${status.index==tempFrist}">
<td rowspan="${rowspanCount}">
<%-- tablename指要合并的属性 --%>
${accountConfig.tablename}
</td>
</c:if>
</tr>
</c:forEach>
</table>动态合并单元格
最新推荐文章于 2023-03-09 17:53:32 发布
本文介绍了一种使用JSP和JSTL标签库实现报表数据的表格展示方法,特别是如何通过循环遍历数据集合并根据指定字段进行行合并,以此减少重复数据,提升报表的阅读体验。
941

被折叠的 条评论
为什么被折叠?



