【问题标题】:How do I switch the page displayed in a Shiny DataTable?如何切换 Shiny DataTable 中显示的页面?
【发布时间】:2016-06-17 23:16:26
【问题描述】:

我可以使用回调参数更改最初显示在 DataTable 中的页面,例如output$testTable <- DT::renderDataTable(iris, callback = JS('table.page(2).draw(false);')) 但是如何更改页面以响应用户输入?有没有类似于selectRows 使用dataTableProxy 的东西?

【问题讨论】:

标签: r pagination shiny user-input dt


【解决方案1】:

这里是如何做到这一点。您需要创建一个自定义 js 函数,然后像这样从服务器调用它(在此示例中,按钮将页面更改为随机页面):

library(shiny) 
library(DT)

shinyApp( 
  ui = fluidPage(
    mainPanel(DT::dataTableOutput("test"),
              actionButton("btn","Press me"),
              tags$script(HTML(
    "Shiny.addCustomMessageHandler('pager',function(page) {
      $('#'+'test').find('table').DataTable().page(page).draw(false);
    })"
                )))), 
  server = function(input, output,session) { 


    output$test <- DT::renderDataTable({
     mtcars

    })
    observeEvent(input$btn,{

      page <- sample(1:4,1)

      session$sendCustomMessage("pager",page-1)

    })    
  }
)

【讨论】:

    猜你喜欢
    • 2021-08-15
    • 2014-11-17
    • 1970-01-01
    • 2019-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-13
    • 2011-04-09
    相关资源
    最近更新 更多