2016-10-17 50 views
0

在renderRHandsontable({})生成的使用數據是我想什麼來實現 數據<一個圖式 - read.csv( 「data.csv」)光澤:在另一個renderRHandsontable({})表達如下

output$table1 <- renderRHandsontable({ 
data <- data*2 
data_table <- filter(data, "ID1") 
rhandsontable(data_table)}) 

output$table2 <- renderRHandsontable({rhandsontable(data)}) 

我想讀取一些數據,在rhandsontable中操作(代價高昂)並在另一個rhandsontable中使用日期。每當我更新表1中的數據時,表2中的數據也應該更新。有人可以幫助我嗎?

回答

0

我認爲下面的代碼做你想要的。這裏第二個表格只有在第一個表格中做了一些修改後纔會被渲染。

的ui.R如下:

library(shiny) 
library(rhandsontable) 

ui <- fluidPage(
    rHandsontableOutput("Table1"), 
    br(), 
    br(), 
    rHandsontableOutput("Table2") 
) 

服務器。 R如下:

server <- function(input, output, session) { 

    #Render !st table at the begining 
    output$Table1 <- renderRHandsontable({ 

    rhandsontable(datasets::mtcars, height = 400, selectCallback = TRUE, readOnly = FALSE) 
    }) 


    observe({ 
    if(!is.null(input$Table1$changes$changes[[1]][[1]])){# Render the 2nd table only after the data in the 1st table changes 

     output$Table2 <- renderRHandsontable({ 

     rhandsontable(hot_to_r(input$Table1), height = 400, readOnly = TRUE) 

     }) 
    } 

    }) 

} 

希望這有助於!