是否可以在DT数据表中设置默认选中的复选框?

时间:2018-07-12 11:11:05

标签: r shiny dt

我想问一下是否有可能在DT数据表中默认选择所有行的复选框(而不是取消选择)。

keywords

1 个答案:

答案 0 :(得分:3)

是的,您可以这样编写自定义JS函数: 在这里,我们预选择第1,3和4行(请注意,计数从0开始)

library(DT)
library(tidyverse)
library(shiny)

ui <- fluidPage(
  dataTableOutput("irisTable")
)

jsfunc <- "function() {arrIndexes=[1,3,4]; $('#irisTable tbody tr').filter(function(index) {return arrIndexes.indexOf(index) > -1;}).click()}"

server <- function(input, output){

  output$irisTable <- renderDataTable(
    iris %>% rowid_to_column("Row") %>% mutate(Row = ""),
    rownames = FALSE,
    extensions = "Select",
    options = list(
      initComplete = JS(jsfunc),
      columnDefs = list(list(className = "select-checkbox", targets = 0, orderable = FALSE)),
      select = list(style = "multi", selector = "td:first-child")
    ))
}

shinyApp(ui, server)

enter image description here