使用闪亮R中的State更新DT的状态并从DT中提取数据

时间:2017-08-06 11:27:45

标签: r shiny state dt

DT包提供了使用过滤器,搜索和所有内容保存表状态的功能。我可以在文本输出上看到该状态(input$TableId_state)的内容。但我不能以任何正确的方式使用它。我想做两件事:

  1. 随时保存DT状态,并使用操作按钮将其应用于相同的DT。 (我希望有完整的数据,但搜索框中有过滤器和文字)。
  2. 将数据从输出表提取到服务器函数内的另一个数据表(而不是输出表)
  3. 我可以使用input$tableId_rows_all做2.子弹。但我需要能够与国家一起做到这一点 在我看来,如果其中任何一个都不可能,那么状态函数就没用了只是为了炫耀。

    这是我的试验2. bullet:

    library(shiny)
    library(DT)
    
    data <- iris
    
    ui <- fluidPage(
      actionButton(inputId = "action", label = "Apply",icon=
                     icon("refresh",lib="font-awesome"),style="background-
    color:#FBAF16",width =validateCssUnit(385)),
      fluidRow(DT::dataTableOutput(outputId = 
    "Table")),hr(),fluidRow(DT::dataTableOutput(outputId = "FilteredTable"))
    )
    
    server <- function(input,output,session){
    
      output$Table<-DT::renderDataTable(expr = {
        DT::datatable(data,option = list(stateSave = 
    TRUE),filter=list(position="top",clear=TRUE))
      })
    
      filtereddata <- eventReactive(input$action,{
         return(DT::datatable(data
                             ,options = list(state=input$Table_state)
                             ))
      })
    
      output$FilteredTable<- DT::renderDataTable(expr = {
        return(filtereddata())
      })
    
    }
    
     runApp(list(ui = ui, server = server),host="127.0.0.2",port=5013, launch.browser = TRUE)
    

0 个答案:

没有答案