我已經在我的一個html表上使用了datables。其中有許多列。 在它的一列可以包含以下三個值之一:自定義排序字符串與數據表中的3組值
- 琥珀
- 待定
- 紅
我想要實現排序,使得具有價值掛起所有行首先看到,然後琥珀然後是紅色。 (不能使用默認的升序和降序排序爲順序將是不正確的,然後)
代碼片段:
JSP(創建表)
<table class="tableContent nofx cell-border compact" id="violationTable">
<thead>
<tr>
<th class="col1"><i18n:message key="rule.name" /></th>
<th class="col2"><i18n:message key="rule.value" /></th>
<th class="col3"><i18n:message key="rule.isr.value" /></th>
<th class="col4"><i18n:message key="rule.status" /></th>
</tr>
</thead>
<tbody>
<c:forEach items="${ruleViolationList}" var="i" varStatus="loopStatus">
<tr data-rule-id="<c:out value="${i.id}" />" data-country-id="<c:out value="${i.countryId}" />"
>
<td class="col1">
<c:out value="${i.PolicyRule}" />
</td>
<td class="col2">
<c:out value="${i.RuleValue}" escapeXml="false" />
</td>
<td class="col3">
<c:out value="${i.isrValue}" />
</td>
<c:choose>
<c:when test="${i.violationTypeId == 1}">
<td class="red status" >
<i18n:message key="rule.violation.red" />
</td>
</c:when>
<c:when test="${i.violationTypeId == 2}">
<td class="amber status" >
<i18n:message key="rule.violation.amber" />
</td>
</c:when>
<c:when test="${i.violationTypeId == 4}">
<td class="blue status" >
<i18n:message key="rule.violation.dispensation.approval.pending" />
</td>
</c:when>
<c:when test="${i.violationTypeId == 5}">
<td class="amber status" >
<i18n:message key="rule.violation.amber" />
</td>
</c:when>
<c:when test="${i.violationTypeId == 6}">
<td class="red status" >
<i18n:message key="rule.violation.red" />
</td>
</c:when>
</c:choose>
</tr>
</c:forEach>
</tbody>
</table>
的Servlet:
ArrayList<RuleViolation> ruleViolationList = daoFactory.getRuleViolationsDAO().list();
request.setAttribute("ruleViolationList", ruleViolationList);
JS:
$(document).ready(function() {
$('#violationTable').DataTable();
});
所以我最想要的是,當表格顯示在頁面上時,數據應該根據第一列的數據和最後一列的數據(即Pending,Amber,然後是紅色)按字母順序排序。
您是否使用客戶端或服務器端處理的答案將取決於。請顯示您的DataTables初始化代碼。 –
@ Gyrocode.com,Servlet將對象數組傳遞給jsp,然後將這些對象迭代到表中創建的行。 –