繁体   English   中英

将列名传递给闪亮数据表中的目标选项

[英]Passing column name to target option in a shiny datatable

我一直试图在 columnDefs 的目标选项中传递列名(而不是列号)。 该表是动态的,所以我绝对需要选择以列名为目标的选项。 下面是一个可重现的示例。 然而,这个例子不是动态的。

datatable(iris[c(1:20, 51:60, 101:120), ], options = list(columnDefs = list(list(
  targets = 5,
  render = JS(
    "function(data, type, row, meta) {",
    "return type === 'display' && data.length > 6 ?",
    "'<span title=\"' + data + '\">' + data.substr(0, 6) + '...</span>' : data;",
    "}")
))), callback = JS('table.page(3).draw(false);'))

尝试使用targets = 'Species'targets = iris$Species但它们不起作用。

如果您有兴趣将多列设置为不同的宽度,请考虑以下事项(注意 R 是基于一的,而 javascript 是基于一的):

  col_a <- which(names(dat) %in% c("column_name1", "column_name2"))
  col_b <- which(names(dat) %in% c("column_name3", "column_name4"))
  col_c <- which(names(dat) %in% c("column_name5"))

  columnDefs = list(list(width = '30px', targets = as.list(col_a - 1)),
                    list(width = '80px', targets = as.list(col_b - 1)),
                    list(width = '200px', targets = as.list(col_c - 1)))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM