DataTable仅允许选择某些单元格(R Shiny)

rjee0c15  于 2023-03-27  发布在  其他
关注(0)|答案(1)|浏览(121)

下面的应用程序允许用户在表格中单击并选择单元格。是否有可能限制某些列被选择?例如,我希望用户只能在Species和Sepal.Length列中单击。

library(shiny)
library(DT)

ui <- fluidPage(
  DTOutput("dt"),
  verbatimTextOutput("txt")
)

server <- function(input, output, session) {
  output$dt <- renderDT({
    datatable(iris,
              selection=list(mode="single", target="cell"))
  })
  
  output$txt <- renderText({
    req(input$dt_cell_clicked)
    
    input$dt_cell_clicked$value
  })
}

shinyApp(ui, server)
osh3o9ms

osh3o9ms1#

如果你和

selection = list(mode="single", target="cell", 
                 selectable = rbind(cbind(1:nrow(iris), rep(5, nrow(iris))),
                                    cbind(1:nrow(iris), rep(1, nrow(iris))))))

然后使用input$dt_cells_selected(clicked!= selected)来代替,它工作得很好。
selectable中的矩阵是一个两列矩阵,包含所有可选择的单元格(行列对)。

相关问题