rowGroup.endRender
自:RowGroup 1.0.0 起
提供一個函式,可用於控制在結束分組列中顯示的資料。
請注意 - 此屬性需要 DataTables 的 RowGroup 擴充功能。
描述
修改 RowGroup 顯示的分組列內容可能非常有用。預設情況下,它僅顯示分組資料值,但通常您可能希望顯示更複雜的資料,例如彙總、計數和其他摘要資訊。此選項讓您能夠指定一個函式,該函式將傳回要為群組的結束列顯示的資料。
此選項定義的函式將在 DataTables 目前頁面中顯示的每個群組呼叫一次,並且每次頁面變更(例如,分頁、搜尋或排序)時都會再次呼叫,以保持分組資訊的最新狀態。因此,使用的函式執行速度應相對較快,這點非常重要 - 例如,不要進行任何非同步 Ajax 呼叫!
類型
function endRender( rows, group, level )
- 參數
名稱 類型 選用 1 rows
否 DataTables API 實例,由目前頁面上此群組中的列的
rows()
產生。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)
);
}
}
});