2016-04-25 256 views
2

我试图做一个shiny应用下载filtred Datatable[R闪亮下载filtrered数据表(DT)

  • 过滤与searsh
  • 删除符合delete button
filtred

(下载部分按预期工作)

问题:当我第一次用searsh过滤REA从数据表中,如果我删除与按钮的直线将其重置第一过滤

我reproductible为例:编辑工作液

library(shinydashboard) 
library(DT) 
library(shiny) 

ui <- dashboardPage(
    dashboardHeader(title = "Info boxes"), 
    dashboardSidebar(), 
    dashboardBody(
    fluidRow(DT::dataTableOutput('data')), 
    fluidRow(p(class = 'text-center', downloadButton('x3', 'Download Filtered Data'))) 
) 
) 

server <- function(input, output) { 
    df <- reactiveValues(data = data.frame(
     Value1 = 1:10, 
     Value2 = c("A", "B", "C", "D", "E"), 
     stringsAsFactors = FALSE, 
     row.names = 1:10 
    )) 

    output$data <- DT::renderDataTable(
    df$data, server = TRUE, filter = 'top', escape = FALSE, selection = 'none') 

    # download the filtered data 
    output$x3 = downloadHandler('emergence filtré.csv', content = function(file) { 
     s = input$data_rows_all 
     write.table(df$data[s,], file ,sep=";",row.names = F) 
    })  
} 
shinyApp(ui = ui, server = server) 

谢谢

回答

4

我想这是因为搜索过滤器是在客户端(在Web浏览器内)完成的,它并没有真正改变底层数据框架。一种可能的选择是向表中添加一个过滤器并将其用作搜索功能,并设置服务器端处理。这不会在一个框中进行全局搜索。

output$data <- DT::renderDataTable(
    df$data, server = TRUE, filter = 'top', escape = FALSE, selection = 'none' 
) 
+0

它的工作我编辑的代码(和删除删除按钮) –