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