{hero}

rowGroup.endRender

自:RowGroup 1.0.0

提供一个函数,用于控制在结束分组行中显示的数据。
请注意 - 此属性需要 DataTables 的 RowGroup 扩展。

描述

修改 RowGroup 显示的分组行的内容非常有用。默认情况下,它只显示分组数据值,但通常您可能希望显示更复杂的数据,例如聚合、计数和其他汇总信息。此选项通过允许您指定一个函数来提供这种能力,该函数将返回要显示在组结束行的中的数据。

此选项定义的函数将为 DataTables 当前页面中显示的每个组调用一次,并且每次更改页面(例如分页、搜索或排序)时都会再次调用,以保持分组信息最新。因此,重要的是使用的函数在执行速度上要相对快 - 例如不要进行任何异步 Ajax 调用!

类型

null

描述

如果设置为 null,则分组结束行不会显示在表格中。

function endRender( rows, group, level )

参数
返回值

渲染函数返回的信息可能是以下之一

  • 一个字符串,在这种情况下,RowGroup 将为分组行创建 trtd 元素,并使用 colspan 值使单个单元格跨越表格的宽度。
  • 一个 tr 节点,其中包含一个行,该行将被注入到表格中,作为组结束行。如果您希望在分组行中使用多个单元格,这将非常有用 - 例如,为了与主机数据对齐。
  • 一个包含 tr 节点的 jQuery 对象。这与 tr 元素的行为完全相同,并且是为了方便而提供的。

默认

  • 值: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)
			);
		}
	}
});