敲除多个数组绑定到 table with rowspan
knockout multiple arrays bind to table with rowspan
请参考这个html,我使用knockoutjs生成报告。
请查看 **(1) 和 **(2) 个位置
如果我删除 **(1) 并保留 **(2) 位置 tr 这工作正常,但我的报告格式不符合我的预期。
如果我删除 **(2) 并保留 **(1),我会收到错误提示 "Cannot find closing comment tag to match: ko foreach: ProvinceArrayDTO "
但我需要的是第二个选项并填充数组。
有什么办法可以做到吗?
在 JSFiddle 中 Good Format STATIC DATA
<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>CEB Province</th>
<th>CEB Area Office</th>
<th>Primary Substation</th>
<th>Meter</th>
<th>Time Of Use</th>
<th>Energy Initial Reading</th>
<th>Energy Final Reading</th>
<th>Total Energy in Time interval</th>
<th>Total Energy</th>
<th>Coincident Peak</th>
<th>Remarks</th>
</tr>
</thead>
<tbody>
<!-- ko foreach: ProvinceArrayDTO -->
<tr>
<td data-bind="text: ProvinceName, attr: {rowspan: RowCount }"></td>
<!-- ko foreach: AreaArrayDTO -->
<td data-bind="text: AreaName, attr: {rowspan: RowCount }"></td>
<!-- ko foreach: SubStationArrayDTO -->
<td data-bind="text: SubStaionName, attr: {rowspan: RowCount }"></td>
<!-- ko foreach: MetersArrayDTO -->
<td data-bind="text: MeterName, attr: {rowspan: RowCount }"></td>
<!-- ko foreach: MetersReadingArrayDTO -->
<td class="auto-style5">Day</td>
<td class="auto-style7">LastMnValue</td>
<td class="auto-style2" data-bind="text: DayValue"></td>
<td class="auto-style2">difference</td>
<td class="auto-style4" rowspan="3">total</td>
<td rowspan="3" data-bind="text: CoincidentPeak"></td>
<td rowspan="3" data-bind="text: Remarks"></td>
</tr>**(1)
<td class="auto-style5">Peek</td>
<td class="auto-style7">9804328</td>
<td class="auto-style2">9523478</td>
<td class="auto-style2">280,850</td>
<!-- /ko -->
<!-- /ko -->
<!-- /ko -->
<!-- /ko -->
</tr>**(2)
<!-- /ko -->
</tbody>
</table>
感谢意见!
我通过 javascript 生成了总 table 布局并使用了 knockout 的 html 绑定。
淘汰赛
self.DetailedReport = ko.observable();
function GenerateHtmlTableFronJson(){
//JSON parse here ang generate HTML
return ("<table> ..... </table>");
}
self.DetailedReport (GenerateHtmlTableFronJson());
在HTML
<div data-bind="html: DetailedReport"></div>
请参考这个html,我使用knockoutjs生成报告。
请查看 **(1) 和 **(2) 个位置
如果我删除 **(1) 并保留 **(2) 位置 tr 这工作正常,但我的报告格式不符合我的预期。
如果我删除 **(2) 并保留 **(1),我会收到错误提示 "Cannot find closing comment tag to match: ko foreach: ProvinceArrayDTO "
但我需要的是第二个选项并填充数组。
有什么办法可以做到吗?
在 JSFiddle 中 Good Format STATIC DATA
<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>CEB Province</th>
<th>CEB Area Office</th>
<th>Primary Substation</th>
<th>Meter</th>
<th>Time Of Use</th>
<th>Energy Initial Reading</th>
<th>Energy Final Reading</th>
<th>Total Energy in Time interval</th>
<th>Total Energy</th>
<th>Coincident Peak</th>
<th>Remarks</th>
</tr>
</thead>
<tbody>
<!-- ko foreach: ProvinceArrayDTO -->
<tr>
<td data-bind="text: ProvinceName, attr: {rowspan: RowCount }"></td>
<!-- ko foreach: AreaArrayDTO -->
<td data-bind="text: AreaName, attr: {rowspan: RowCount }"></td>
<!-- ko foreach: SubStationArrayDTO -->
<td data-bind="text: SubStaionName, attr: {rowspan: RowCount }"></td>
<!-- ko foreach: MetersArrayDTO -->
<td data-bind="text: MeterName, attr: {rowspan: RowCount }"></td>
<!-- ko foreach: MetersReadingArrayDTO -->
<td class="auto-style5">Day</td>
<td class="auto-style7">LastMnValue</td>
<td class="auto-style2" data-bind="text: DayValue"></td>
<td class="auto-style2">difference</td>
<td class="auto-style4" rowspan="3">total</td>
<td rowspan="3" data-bind="text: CoincidentPeak"></td>
<td rowspan="3" data-bind="text: Remarks"></td>
</tr>**(1)
<td class="auto-style5">Peek</td>
<td class="auto-style7">9804328</td>
<td class="auto-style2">9523478</td>
<td class="auto-style2">280,850</td>
<!-- /ko -->
<!-- /ko -->
<!-- /ko -->
<!-- /ko -->
</tr>**(2)
<!-- /ko -->
</tbody>
</table>
感谢意见!
我通过 javascript 生成了总 table 布局并使用了 knockout 的 html 绑定。
淘汰赛
self.DetailedReport = ko.observable();
function GenerateHtmlTableFronJson(){
//JSON parse here ang generate HTML
return ("<table> ..... </table>");
}
self.DetailedReport (GenerateHtmlTableFronJson());
在HTML
<div data-bind="html: DetailedReport"></div>