[英]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.