0

以下は、データを達成したいもののスキーマです<- 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 のデータを更新するたびに、table 2 も更新する必要があります。誰かがこれについて私を助けることができますか?

4

1 に答える 1

1

次のコードはあなたが望むことをすると思います。ここで、2 番目のテーブルは、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 に答える