1) Caption指標(biāo)題
2) name:數(shù)據(jù)源
3) defaultsort:排序列,一般不需要
4) defaultorder:排序方式
5) class:表格顯示的樣式
6) varTotals:需要統(tǒng)計(jì)(總計(jì))
7) decorator="totals":表示使用指定的decorator?,F(xiàn)在僅在同時(shí)使用小計(jì)、合計(jì)時(shí)用到,自己也可以定制。
8) <display:column 部分:
property指數(shù)據(jù)中的列名
title指顯示的標(biāo)題
format指數(shù)據(jù)的格式化樣式,
total表示該字段是否需要作統(tǒng)計(jì)。
style="width:20%"可以設(shè)置寬度。
也可以用
<display:column title="請(qǐng)假時(shí)間">
<fmt:formatDate value="${currentRowObject.QJSJ}" pattern="yyyy-MM-dd"/>
</display:column>表現(xiàn)。
group="1"表示進(jìn)行g(shù)roup的字段。
9) 在表格中建立一個(gè)連接:
<display:column title="部別">
<a href="<c:out value="${pageContext.request.contextPath}"/>
/holidayDefaultSearchStatView.do?type=
<c:out value="${currentRowObject.CJDM}"/>&SYD=
<c:out value="${currentRowObject.DWDM}"/>" target="_blank">
<c:out value="${currentRowObject.DWMC}"/>
</a>
</display:column>
10) 由于該tag只有合計(jì)時(shí),沒(méi)有合計(jì)那一列,所以實(shí)現(xiàn)的時(shí)候以<display:footer>實(shí)現(xiàn)。
可以通過(guò)totalMap對(duì)象獲取合計(jì)的數(shù)據(jù),如totalMap.colomn1獲取合計(jì)的第一列數(shù)值。
11) 標(biāo)題頭不顯示<display:setProperty name="basic.show.header" value="false" />
12) 自己定制表頭:<display:caption>
使用decorator:
<jsp:scriptlet>
org.displaytag.decorator.TotalTableDecorator totals =
new org.displaytag.decorator.TotalTableDecorator();
totals.setTotalLabel("合計(jì)");
totals.setSubtotalLabel("小計(jì)");
pageContext.setAttribute("totals", totals);
</jsp:scriptlet>
實(shí)例:
<display:caption>這是表標(biāo)題</display:caption>
<display:table
name="${model.rowToColumnStatResult}" defaultsort="1"
class="simple" defaultorder="ascending" varTotals="totalMap">
<display:column property="GCWZ" title="部門(mén)"/>
<c:forEach items="${model.YList.YList}" var="yColumn">
<c:forEach items="${model.rowToColumnStatResult[0]}"
var="mapEntry">
<c:if test="${mapEntry.key == yColumn}">
<th>
<display:column property="${mapEntry.key}"
title="${mapEntry.key}"
format="{0,number,####.##}" total="true"/>
</th>
</c:if>
</c:forEach>
</c:forEach>
<display:column property="小計(jì)"
title="小計(jì)"
format="{0,number,####.##}" total="true"/>
<display:footer>
<tr>
<td>總計(jì)</td>
<c:forEach items="${model.YList.YColumn}" var="yColumn">
<td><fmt:formatNumber value="${totalMap[yColumn]}"
pattern="####.##"/>
</td>
</c:forEach>
</tr>
</display:footer>
</display:table>
另外一個(gè)例子:
<display:table name="${model.statResult}" class="simple"
varTotals="totalMap">
<display:column property="XMMC" title="項(xiàng)目名稱(chēng)" />
<display:column property="KSRQ" title="開(kāi)始日期" />
<display:column property="FZRXM" title="負(fù)責(zé)人姓名" />
<display:column property="GKDW" title="掛靠單位" />
<display:column property="JFLY" title="經(jīng)費(fèi)來(lái)源" />
<display:column property="XMZJF" title="項(xiàng)目總經(jīng)費(fèi)" total="true" />
<display:column property="DNDKJF" title="當(dāng)年到款經(jīng)費(fèi)" total="true"/>
<display:footer>
<tr><td colspan="5">總計(jì)</td>
<td>
<fmt:formatNumber value="${totalMap.column6}"
pattern="####.####" />
</td>
<td>
<fmt:formatNumber value="${totalMap.column7}"
pattern="####.####" />
</td>
</tr>
</display:footer>
</display:table>
總計(jì)某一列的方法:
${totalMap.column?} ?為該列號(hào)
colspan="5":表示這個(gè)單元格占5個(gè)單元格
項(xiàng)目名稱(chēng) 開(kāi)始日期 負(fù)責(zé)人姓名 掛靠單位 經(jīng)費(fèi)來(lái)源 項(xiàng)目總經(jīng)費(fèi) 當(dāng)年到款經(jīng)費(fèi)
531 400
151 10
-------------------------------------
總計(jì) 682 500