2016-04-25 117 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

它的工作我編輯的代碼(和刪除刪除按鈕) –