2016-09-01 10 views
2

Я пытаюсь использовать версию разработки пакета DT (доступно по адресу devtools::install_github('rstudio/DT')), чтобы обеспечить возможность выбора одной ячейки в блестящем приложении. Я смог сделать выделение ячейками, используя аргумент target для selection; однако я не могу понять, как отключить несколько выбранных ячеек. Есть ли еще один аргумент для списка параметров selection, который позволит мне ограничить выбор пользователя максимальным количеством ячеек? Если нет, есть ли другой способ выполнить выбор одной ячейки?Shiny + DT: выбор одной ячейки

Я очень открыт, чтобы вернуться к стабильной версии DT на CRAN, если есть более легкое решение с использованием этой версии пакета.

library(shiny) 
library(DT) 
data("mtcars") 

ui <- shinyUI(
    fluidRow(
    DT::dataTableOutput("myDatatable"), 
    verbatimTextOutput("selectedCells") 
) 
) 

server <- shinyServer(function(input, output, session) { 
    output$myDatatable <- DT::renderDataTable(mtcars, 
              selection=list(target="cell"), 
              server = FALSE, 
              rownames=FALSE) 

    output$selectedCells <- renderPrint(input$myDatatable_cells_selected) 
}) 

shinyApp(ui, server) 

ответ

4

Проблема заключается в вызове DT::renderDataTable в selection списке. Вам нужно selection=list(mode="single", target="cell")

mode устанавливает один или несколько, где вы были selection (до правки)