簡體   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