动态合并单元格

时间:2022-07-23 08:08:26
<%@ 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>