rowGroup.endRender
自:RowGroup 1.0.0
提供一个函数,用于控制在结束分组行中显示的数据。
请注意 - 此属性需要 DataTables 的 RowGroup 扩展。
描述
修改 RowGroup 显示的分组行的内容非常有用。默认情况下,它只显示分组数据值,但通常您可能希望显示更复杂的数据,例如聚合、计数和其他汇总信息。此选项通过允许您指定一个函数来提供这种能力,该函数将返回要显示在组结束行的中的数据。
此选项定义的函数将为 DataTables 当前页面中显示的每个组调用一次,并且每次更改页面(例如分页、搜索或排序)时都会再次调用,以保持分组信息最新。因此,重要的是使用的函数在执行速度上要相对快 - 例如不要进行任何异步 Ajax 调用!
类型
function endRender( rows, group, level )
- 参数
名称 类型 可选 1 rows
否 由
rows()
在此组的当前页面上显示的行上生成的 DataTables API 实例。2 group
否 组数据点的值(由
rowGroup.dataSrc
定义)。3 level
否 自 1.1.0 起:嵌套级别。顶层是索引 0。
- 返回值
渲染函数返回的信息可能是以下之一
- 一个字符串,在这种情况下,RowGroup 将为分组行创建
tr
和td
元素,并使用colspan
值使单个单元格跨越表格的宽度。 - 一个
tr
节点,其中包含一个行,该行将被注入到表格中,作为组结束行。如果您希望在分组行中使用多个单元格,这将非常有用 - 例如,为了与主机数据对齐。 - 一个包含
tr
节点的 jQuery 对象。这与tr
元素的行为完全相同,并且是为了方便而提供的。
- 一个字符串,在这种情况下,RowGroup 将为分组行创建
默认
- 值:
null
不显示分组结束行。
示例
显示组中行的数量以及组数据值
new DataTable('#myTable', {
rowGroup: {
endRender: function (rows, group) {
return group + ' (' + rows.count() + ' rows)';
}
}
});
禁用起始分组行
new DataTable('#myTable', {
rowGroup: {
startRender: null,
endRender: function (rows, group) {
return group + ' (' + rows.count() + ' rows)';
}
}
});
在页脚中显示聚合数据
new DataTable('#myTable', {
rowGroup: {
endRender: function (rows, group) {
var avg =
rows
.data()
.pluck('salary')
.reduce(function (a, b) {
return a + b.replace(/[^\d]/g, '') * 1;
}, 0) / rows.count();
return (
'Average salary in ' +
group +
': ' +
DataTable.render.number(',', '.', 0, '$').display(avg)
);
}
}
});