0

下面是我想要实现的模式 data <- read.csv("data.csv")

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

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

我想读取一些数据,在 rhandsontable 中操作(昂贵)它并在另一个 rhandsontable 中使用日期。每当我更新 table1 中的数据时,表 2 也应该更新。有人可以帮我吗?

4

1 回答 1

1

我认为以下代码可以满足您的要求。此处仅在您对第一个表进行一些更改后才呈现第二个表。

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)

      }) 
    }

  })

}

希望这可以帮助!

于 2016-11-07T11:12:49.680 回答