我正在使用 Datatables 创建一个按数据分组的网格。我能够使用我的第一列对我的表进行分组。
我想完成获取每个分组行的计数并写出我分组行的计数,我该怎么做?
如果您看到下面的链接,它们有带阴影的分组行。我希望计数紧跟在分组文本的文本之后。
http://www.datatables.net/examples/advanced_init/row_grouping.html
谢谢。
最佳答案
这可以通过在 drawCallBack 函数中添加一个 for 循环来实现。引用http://www.datatables.net/examples/advanced_init/row_grouping.html对于 drawCallBack 函数。请注意,我使用的是旧版数据表函数,即 fnDrawCallBack 将其替换为最新的等效函数。
fnDrawCallback: function(settings) {
var api = this.api();
var rows = api.rows({ page: "current" }).nodes();
var last = null;
var storedIndexArray = [];
api.column(0, { page: "current" })
.data()
.each((group, i) => {
if (last !== group) {
storedIndexArray.push(i);
$(rows)
.eq(i)
.before(
'<tr class="group"><td colspan="4">' +
group +
"<span class='group-count'></span></td></tr>"
);
last = group;
}
});
storedIndexArray.push(
api.column(0, { page: "current" }).data().length
);
for (let i = 0; i < storedIndexArray.length - 1; i++) {
let element = $(".group-count")[i];
$(element).text(
storedIndexArray[i + 1] - storedIndexArray[i]
);
}
}
关于javascript - 数据表:使用行分组,如何获取每个分组行的计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26103362/