I am using DTEdit to allow users to edit a datatable in my Shiny app. It works well and displays the user's updates/inserts in the UI. However, I want to be able to perform functions on the updated table. Is there a way to return the updated table to the server side as well as the UI side?
Asked
Active
Viewed 164 times
1 Answers
1
dtedit
's main method to handle user editing of data is by using and defining callbacks.
However, dtedit
does return a reactiveValues
. Server-side, changes in 'reactiveValues' can be detected in an observeEvent
.
I have examples of using both the return list of reactiveValues
and use of callbacks in a vignette, based on my modified version of DTedit. Previously my version of DTedit
returns a list of 'reactives', rather than a 'reactiveValues', but now returns reactiveValues
, just like jryer/DTedit
.
Using jbryer/DTedit
:
server <- function(input, output) { Grocery_List_Results <- dtedit( input, output, name = 'Grocery_List', thedata = data.frame( Buy = c('Tea', 'Biscuits', 'Apples'), Quantity = c(7, 2, 5), stringsAsFactors = FALSE ) ) observeEvent(Grocery_List_Results$thedata, { message(Grocery_List_Results$thedata) }) } ui <- fluidPage( h3('Grocery List'), uiOutput('Grocery_List') ) shinyApp(ui = ui, server = server)

David Fong
- 506
- 4
- 3