在 shiny 中使用 DT 动态预 select 行

Dynamically pre-select row using DT in shiny

我尝试使用 DT 在 shiny 中动态预 select 行并看到这个 question/answer: 但是,我确实需要 'native' 带有智能列过滤器的 DT 外观。

这是我的代码:

library(shiny)
library(DT)

shinyApp(
    ui=shinyUI(
        fixedPage(
            radioButtons('selectedRows',
                         'select a row',
                         c(
                         "row one"="1",
                         "row two"="2")),
            DT::dataTableOutput('myTable')
        )
    )
,

server=shinyServer(function(input, output) {

    selRows <- reactiveValues(row=c())

    observe({
        validate(need(input$selectedRows, message=FALSE)) 
        selRows$row <- as.numeric(input$selectedRows)
    })

    output$myTable <- DT::renderDataTable ({
                                             mtcars[,1:5]
                                          },server=T,
                                            rownames = T,
                                            filter = "top",
                                            selection = list(mode='multiple',
                                                             selected = selRows$row))

    })
) 

谢谢!

它写在另一个 post 中,将其包装在 datatable() 中,然后就可以了:)

output$myTable <- DT::renderDataTable ({
  datatable(
    mtcars[,1:5],
    rownames = T,
    filter = "top",
    selection = list(mode='multiple',
                     selected = selRows$row)  
  )
})