В приведенном ниже приложении я использую cell_edit для отображения строки, столбца и значения, которое я отредактировал. Но здесь есть какая-то проблема. Всякий раз, когда я ввожу значения в строках, (результат показывает 1,1,1,1,1,1, ..... вместо просто 1), также, если я ввожу значения в столбце 1 и 2, (результат показывает 0, 1,2,3,4, .... вместо только 1 и 2). Также, если я введу значения как 12 в строке1 и столбце 1 и 6 в строке 1 и столбце 2, результат будет отображаться как «12» «6» «160» ..... и так далее, вместо «12» «5».
Так что в основном это результат показывает все значения. Можем ли мы сделать так, чтобы результат показал соответственно.
library(shiny)
ui <- fluidPage(
h2("Last edited:"),
verbatimTextOutput("last_edited"),
actionButton("reset", "Reset cell edited"),
h2("Datatable:"),
DT::dataTableOutput("dt")
)
server <- function(input, output) {
# the last selected/clicked value
output$last_edited <- renderPrint({
str(input$dt_cell_edit)
})
output$dt <- DT::renderDataTable({
DT::datatable(head(mtcars, 2), editable = 'row', rownames = F, selection = "none")
})
# observe the selected rows and do something after a new selection
observeEvent(input$dt_cell_edit, {
# validate(need(!is.null(input$dt_cell_edit), ''))
print(input$dt_cell_edit$row)
print(input$dt_cell_edit$col)
print(input$dt_cell_edit$value)
})
myProxy = DT::dataTableProxy('dt')
# reset last selected value
observeEvent(input$reset, {
DT::selectCells(myProxy, selected = NULL)
})
}
shinyApp(ui, server)