【发布时间】:2016-03-11 10:05:24
【问题描述】:
我已经使用 JQuery DataTables 很长时间了。这是我第一次使用行分组。我找到了一个很好的例子来说明我想从哪里开始。 - Grouping
- 如何将额外的
<td>添加到分组行?如果我想在该分组行上显示分组工资的总和怎么办?目前,您似乎只能显示群组名称。
其他信息
我将从 Ajax 源返回数据。
更新 1
所以,我建立了一个行分组表,并找到了this example 如何汇总一列。我将该值插入该组行中的<td>。我现在需要的只是如何将该总和分成多个组,而不是整个列的总和。我需要这方面的帮助。
"drawCallback": function (settings) {
var api = this.api(), data;
var rows = api.rows({ page: 'current' }).nodes();
var last = null;
//Calculates the total of the column
var total = api
.column(5) //the salary column
.data()
.reduce(function (a, b) {
return a + b;
}, 0);
//Groups the Office column
api.column(2, { page: 'current' }).data().each(function (group, i) {
if (last !== group) {
$(rows).eq(i).before(
'<tr class="group"><td>' + group
+ '</td><td></td><td></td><td></td><td>'
+ total + '</td></tr>'
);
last = group;
}
});
}
更新 2
在我看来,DataTables 无法提供我需要的所有功能。 行分组没有内置小计或可折叠性。即使我能够创建一些自定义的东西来做到这一点,看起来这些组行在导出期间没有被拾取,这是我需要的另一个要求。我可能不得不走另一条路。除非有人能满足所有这些需求,否则不要打扰。
更新 3
我决定改用 Kendo Grids。所有这些功能都已内置。
【问题讨论】:
-
我希望这不是真实数据。
-
直接来自第一个链接中的示例数据。
-
这在c#中的后端是偶然的吗?需要api调用吗?
-
是的,它是一个 MVC 站点。它必须是一个 API 调用来填充数据。
-
您是否尝试过创建使用
Array.prototype方法对事物进行分组的手册<td>?
标签: javascript jquery datatables