在ASP.Net MVC应用程序中,我有一个基于传递给视图的模型的表。出于这个原因,该表不是基于Json,并且这些字段没有我可以在脚本的' [' []部分中引用的列名称(或者至少我不知道怎么样!...)。尽管如此,该表工作正常,但我无法设法生成计算字段。在所有各种实验中,我不断得到NaN或未定义的结果,具体取决于各种尝试,我明白这是因为显然我没有引用正确的数据值,但如果我不这样做,我怎么能这样做? ; t有列名? 该表格结构合理,thead,tbody和tfoot具有相同的列数。这是表的html:
<table id="mainTable" class="table table-hover">
<thead>
<tr>
<th>@Html.DisplayNameFor(model => model.Value1)</th>
<th>@Html.DisplayNameFor(model => model.Value2)</th>
<th>test</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>@Html.DisplayFor(modelItem => item.Value1)</td>
<td>@Html.DisplayFor(modelItem => item.Value2)</td>
<td></td>
</tr>
}
</tbody>
<tfoot><tr><th></th><th></th><th></th></tr></tfoot>
</table>
第一列和第二列的渲染功能正常工作。第三列是我试图计算并显示第一列和第二列之间的差异的地方,以及我得到NaN或未定义的地方。这是脚本:
<script>
$(document).ready(function () {
// DataTable
var table = $('#mainTable').DataTable({
responsive: true,
columns: [
{ render: function (data, type, row) { return data + '$' } },
{ render: function (data, type, row) { return data + '$' } },
{ render: function (data, type, row) { return (row.Value1 - row.Value2) + '$' }}]
});
});
</script>
这是我在这次特定尝试中获得的结果。不幸的是,我尝试了其他版本的结果令人失望:
Value 1 Value 2 test
200.00$ 100.00$ NaN$
etc...
我也试过这个:
columns: [ { data: 'Value1', render: function (data, type, row) { return data + '$' } } ]
和这个
columns: [ { name: 'Value1', render: function (data, type, row) { return data + '$' } } ]
和这个
columns: [ { data: 'Value1', name: 'Value1', render: function (data, type, row) { return data + '$' } } ]
但在所有情况下整个脚本都失败了。
我还尝试用columnDefs [...]
分配名称,但没有运气。
有人会如此友善地告诉我我做错了什么,或者我应该做些什么来使这项工作?
谢谢!