3

私が使う

output$hot <- renderRHandsontable(rhandsontable(DF))

テーブルを取得します。

すべて正常に動作しますが、ユーザーが特定の列のみを選択できるようにしたいと思います (shiny::updateSelectizeInput() で実装)。次に、選択した列だけでなく、データ テーブル全体でデータを更新する必要があります。私はグーグルで調べましたが、Javaで非常に悪い説明しか見つかりませんでした. 誰かがこれで私を助けることができますか?

要求された例として:

 DF = data.frame(matrix(rnorm(20), nrow=10)) 
 rhandsontable(DF)
4

1 に答える 1

1

これは数年遅れており、OPの要求に応じて「updateSelectizeinput()」を使用しないため、これで問題が完全に解決されるとは思わないことに注意してください。さらに、選択入力を正しく処理してはいけません常に 1 つのコラムが示しているように、手始めに探している人のために、以下に例を示します。

library(shiny)
library(rhandsontable)

ui <- fluidPage(
  selectInput("Select", "Select", names(mtcars), multiple = T, selected = names(mtcars)),
  rHandsontableOutput("cars")
)

server <- function(input, output, session) {
  DF<-reactiveValues(DF = mtcars, Select = NULL)
  observeEvent(input$Select,{
    DF$Select <- input$Select
  })
  output$cars<-renderRHandsontable({
    rhandsontable(DF$DF, rowHeaders = NULL)%>%
      hot_cols(colWidths = ifelse(names(DF$DF) %in% DF$Select == T, 150, 0.1))
  }) 
}

shinyApp(ui, server)

列幅として 0.1 を使用して列を効果的に非表示にし、元のデータ フレームをそのままにします。

于 2019-09-10T15:51:17.850 に答える