我正在尝试通过分配一个" child"来实现R数据表中的可折叠子行。对于我想要成为子行的行以及" parent"我希望成为父行的行的类。是否可以在R数据表中将子行作为数据表中的实际行?我找到了一个示例,用于根据R数据表行中的数据为每行定义子行:http://rstudio.github.io/DT/002-rowdetails.html。但是,我希望只显示' total'来自我的数据的行,并使所有非总行子行。子行将具有与父行相同的列和格式。
我找到了JS的解决方案,但是我很难用回调来解决它。
这是JS解决方案: Expand/Collapse table rows with nested rows
以下是我在R中的基本示例的尝试:
library(DT)
datatable(
cbind(' ' = '⊕', mtcars), escape = -2,
options = list(
rowCallback=DT::JS('function(row,data,index){
if(index%2==1) {$("td",row).addClass("child")};
if(index%2==0) {$("td",row).addClass("parent")};
}'),
columnDefs = list(
list(visible = FALSE, targets = c(0, 2, 3)),
list(orderable = FALSE, className = 'details-control', targets = 1)
)
),
callback = JS("
function getChildren($row) {
var children = [];
while($row.next().hasClass('child')) {
children.push($row.next());
$row = $row.next();
}
return children;
}
$('.parent').on('click', function() {
var children = getChildren($(this));
$.each(children, function() {
$(this).toggle();
})
});"
))
感谢您的帮助!