我正在尝试在我现有的 jsp 表中实现 dojo dgrid。我尝试了此处给出的示例,它可以工作,但问题是我正在使用一个表,并且我想以它存储的方式生成我的 JSON 数据,因此它正确对齐。我还检查了GridFromHTML并且它是test,但我不明白如何使用 tds 生成 JSON 数据。
这是表格代码:
<table id="grid">
<tr class="colhdg">
<th><fmt:message key="Sequence"/></th>
<th><fmt:message key="Description"/></th>
<th><fmt:message key="Due Date"/></th>
<th><fmt:message key="Action"/></th>
</tr>
<c:forEach var="rowItem" varStatus="lineInfo" items="${formBean.rowList}">
<%@ include file="/standardoddeven.jsp" %>
<tr class="<c:out value='${trClass}'/>">
<td>
<c:out value="${rowItem.instructionSequence}"/>
</td>
<td>
<c:out value="${rowItem.description}"/>
</td>
<td>
<fmt:formatDate value="${rowItem.dueDate}" pattern='<%=session.getAttribute("DATEFORMAT").toString()%>'/>
</td>
<td>
<bean:define name="rowItem" id="submitObject" type="instructions" />
<c:if test="${formBean.allowedOptions.UiTaskInstructionsViewUpdateAllowed}" >
<%@ include file="/standardupdatedeletebuttons.jsp" %>
</c:if>
</td>
</tr>
</c:forEach>
编辑1:
编写了与“更新”按钮不同的代码。不确定如何将 jsp 表中的最后一个代码添加到 javascript dojo 中的循环中。
这是我的代码,适用于其余部分:
require([ 'dgrid/Grid', 'dojo/domReady!' ], function (Grid) {
var data = [
<c:forEach var="rowItem" varStatus="lineInfo" items="${formBean.rowList}">
{ sequence: '${rowItem.instructionSequence}', description: '${rowItem.description}', dueDate: '<fmt:formatDate value="${rowItem.dueDate}" pattern='<%=session.getAttribute("DATEFORMAT").toString()%>'/>', update: 'Update' }${!lineInfo.last ? ',' : ''}
</c:forEach>
];
var grid = new Grid({
columns: {
sequence: 'Sequence',
description: 'Description',
dueDate: 'Due Date',
update: 'Update'
}
}, 'grid');
grid.renderArray(data);
});