无法将复选框添加到我的闪亮数据表中

Cannot add checkboxes to my shiny datatable

提问人:NewHere 提问时间:11/7/2023 最后编辑:NewHere 更新时间:11/8/2023 访问量:32

问:

我正在尝试将 checboxes 添加到闪亮的数据表中,稍后将所有选中的行检索到其他操作中。

我有一个功能可以向我的数据表(选择列)添加复选框。但是当我尝试构建我的数据表时,复选框区域中有文本。

谁能帮我解决这个问题?谢谢。

结果数据表

功能:

input_checkbox_ui_tiers_concours <- function(id, data, session, checked = FALSE) {
  ns <- NS(id)
  tag <- lapply(
    X = data,
    FUN = function(x) {
      # res <- checkboxInput(inputId = ns(paste0("check_", x)), label = NULL, value = FALSE)
      res <- tags$input(id = ns(paste0("check_", x)), type = "checkbox", style = "float: right;")
      if(checked) res$attribs$checked <- "checked"
      doRenderTags(res)
    }
  )
  unlist(tag, use.names = FALSE)
}

数据表:



data_react_dt = reactive({
  data_p = copy(data_perim_rv$df_perim_filtre)
  test5 <<- data_perim_rv$df_perim_filtre
  col_factor =  data_p %>% lapply(is.factor) %>% .[. == TRUE] %>% names
  col_factor = data_p%>% names %>% str_subset( "^DAT", negate = TRUE)
  col_factor2 = data_p[, col_factor] %>% lapply( function(x){ !is.factor(x)} ) %>% .[. == TRUE] %>% names
  setDT(data_p)
  
  data_p[ , (col_factor2) := lapply(.SD, function(x) { as.factor(x) }), .SDcols = col_factor2]
  
  data_p[ , (col_factor) := lapply(.SD, function(x) { fct_explicit_na(x, "Non renseigné")  }), .SDcols = col_factor]
  
  
  data_p[ , ":=" ( Indic_Projet_Lab = Indic_Projet_Lab %>% fct_recode( "Non renseigné" = "")   ) ]
  
  col_date = data_p %>% names %>% str_subset( "^DAT")
  data_p[ , (col_date) := lapply(.SD, as.character ), .SDcols = col_date ]
  setDF(data_p)
  
  data_p
})


data_react_dt2 = reactive({
  # col_label_reactive()
  
  data = data_react_dt()
  if(length( col_label_reactive())>0)
    data=  data[, col_label_reactive()]
  # toto<<-data
  # print(names(data))
  data
  
})


output[['dt_suivi_dt']] <- DT::renderDataTable(server     = TRUE,
                                               {
                                                 data <- data_react_dt2()
                                                 
                                                 data$Select <- input_checkbox_ui_tiers_concours(ns("select_tiers_concours"),data$ID, session = session)
                                                 data <- data %>% dplyr::select(Select, everything())
                                                 
                                                 datatable(
                                                   data <- data
                                                   )
                                                 data
                                               }
复选框 闪亮 的数据表

评论


答: 暂无答案