<% var tableTagStyle = ""; var tdStyle = ""; var thStyle = ""; %>
${desc} <% for (board in boards) { %> <% if (hideBoardTitle != true) { %>

${board.boardName}

<%}%> <% if (isNotEmpty(board.content)) { %> ${board.content} <%}%> <% for (w in board.items) { %> <% if (w.widgetType == "crossTable") { %>

${w.name}

<% for (var r=0; r <% for (cell in row) { var cellTag = "td"; var style = tdStyle; if (cell.property == "header_empty" || cell.property == "header_key" || cell.property == "value_key" || cell.property == "row_header_header") { cellTag = "th"; style += thStyle; } style += cellFmt.getCellStyle(cell); %> <%if (cell.skip != true && cell.class != "row_null") {%> <${cellTag} colspan="${cell.colspan}" rowspan="${cell.rowspan}" style="${style}">${cell.data!""} <%}%> <%}%> <%}%>
<%}%> <% if (w.widgetType == "detailTable") { var aggResult = w.detailData;%>

${w.name}

<% for (cell in aggResult.columnList) {%> <%}%> <% for (row in aggResult.data) {%> <% for (var i=0; i< row.~size; i++) { var cellData = decode(row[i], "#NULL", "", null, "", row[i]); var columnIndex = aggResult.columnList[i]; %> <%}%> <%}%>
${isNotEmpty(cell.alias) ? cell.alias : cell.name}
${cellFmt.formatCell(columnIndex.formatter, cellData)}
<%}%> <% if (w.widgetType == "report") { %>

${w.name}

${w.tableHtml} <%}%> <%}%> <%}%>