k.c*_*ney 5 javascript r shiny dt
我正在尝试通过向要成为子行的行分配一个“子”类,向要成为父行的行分配一个“父”类,从而在R数据表中实现可折叠的子行。R数据表中是否可能有子行,而这些子行是数据表中的实际行?我找到了一个示例,该示例基于R数据表的行中的数据为每行定义子行:http : //rstudio.github.io/DT/002-rowdetails.html。但是,我希望仅显示数据中的“总计”行,并使所有非总计行成为子行。子行将具有与父行相同的列和格式。
我找到了JS的解决方案,但是我很难通过回调使它正常工作。
这是JS解决方案: 用嵌套行扩展/折叠表行
这是我用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();
})
});"
))
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
| 归档时间: |
|
| 查看次数: |
1157 次 |
| 最近记录: |