0

我正在尝试在 Shiny 应用程序中使用 Rhandsontable 来制作一个 8x12 表,该表将用作与 97 列数据框匹配的输入。表中的每个单元格对应于数据框中的 1 列(x 轴为 -1)。

这是我当前的测试代码:

server <- function(input, output) {

  mat = matrix(, nrow=8, ncol=12, dimnames= list(LETTERS[1:8],1:12))

  output$table = renderRHandsontable({
    rhandsontable(mat, readOnly = T, selectCallback = T) %>% 
      hot_cols(colWidths=22) %>%
      hot_context_menu(allowRowEdit = FALSE, allowColEdit = FALSE)
  })

  output$selected=renderPrint({
    cat('Selected Row:',input$table_select$select$r)
    cat('\nSelected Column:',input$table_select$select$c)
    cat('\nSelected Cell Value:',input$table_select$data[[input$table_select$select$r]][[input$table_select$select$c]])
    cat('\nSelected Range: R',input$table_select$select$r,'C',input$table_select$select$c,':R',input$table_select$select$r2,'C',input$table_select$select$c2,sep="")
  })

}

ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(width=5,
                 rHandsontableOutput("table"),
                 verbatimTextOutput("selected")
    ),
    mainPanel(

    )
  )
)

shinyApp(ui,server)

这对于基于 shift-click 的多项选择、整行、整列和单个单元格的选择非常有用。但是,我还需要能够以标准的 cntrl+click 方式进行选择,以选择不连续的单元格块。这在 rhandsontable 包中不可行吗?我找不到关于它的任何文档,也找不到关于 SO 的任何其他内容。非常感谢有关哪些软件包/工具可以完成此任务的帮助或建议。

4

0 回答 0