2016-11-17 2 views
0
ui <- fluidPage(

    # Application title 
# titlePanel("Old Faithful Geyser Data"), 

    mainPanel(
    rHandsontableOutput('table'), 
    br(), 
    submitButton("Apply changes"), 
    verbatimTextOutput('selected') 
    ) 

) 

server <- function(input, output) { 
     data1 = read.csv("SampleCSVFile_2kb.csv", TRUE,",") 


     output$table = renderRHandsontable(rhandsontable(data1, width = 1000, height = 250)) 

     output$selected=renderPrint({ 
     cat('\nChanged Cell Old Value:',input$table$changes$changes[[1]][[3]]) 
     cat('\nChanged Cell New Value:',input$table$changes$changes[[1]][[4]]) 
     }) 
    } 

shinyApp(ui = ui, server = server) 
+0

Вы хотите сказать, что хотите обновить 'input $ table'? Непонятно, что вы на самом деле хотите обновить. Не могли бы вы немного понять, чего хотите достичь? – SBista

+0

Да, точно. Я хочу обновить входную таблицу $. –

ответ

1

Насколько я понимаю, вы хотите получить доступ к вводу вашего ременданта внутри вашего сервера при нажатии кнопки отправки. В приведенном ниже примере я изменил свой код, чтобы отобразить обновленный файл в формате tableoutput.

library(shiny) 
library(rhandsontable) 

ui <- fluidPage(

    # Application title # titlePanel("Old Faithful Geyser Data"), 

    mainPanel(
    rHandsontableOutput('table'), 
    br(), 
    submitButton("Apply changes"), 
    verbatimTextOutput('selected'), 
    ##The updated table output 
    rHandsontableOutput('tableoutput') 
) 
) 


server <- function(input, output) { 
    data1 = read.csv("SampleCSVFile_2kb.csv", TRUE,",") 


    output$table = renderRHandsontable(rhandsontable(data1, width = 1000, height = 250)) 

    output$selected=renderPrint({ 
    cat('\nChanged Cell Old Value:',input$table$changes$changes[[1]][[3]]) 
    cat('\nChanged Cell New Value:',input$table$changes$changes[[1]][[4]]) 
    }) 

    observe(
    if(!is.null(input$table)){ 
     output$tableoutput = renderRHandsontable(rhandsontable(hot_to_r(input$table), width = 1000, height = 250)) 


    } 
    ) 

} 


shinyApp(ui = ui, server = server) 

Надеюсь, это поможет!

+0

Это сработало. Спасибо @SBista. Можете ли вы объяснить функцию hot_to_r ... ?? –

+0

@ Функция Ishanmahajan 'hot_to_r' используется для преобразования объектива Randontable в объект R (dataframe). – SBista

Смежные вопросы