Switching from DT

2024-05-21

Let’s say you already use DT::datatable() to display your data, but want to switch to editbl::eDT() to be able to edit it. What should you look out for?

Here is an example covering the above:

library(shiny)
library(DT)
## 
## Attaching package: 'DT'
## The following objects are masked from 'package:shiny':
## 
##     dataTableOutput, renderDataTable
library(editbl)
ui <- fluidPage(DTOutput("DT"))
server <- function(input, output, session){
  output$DT <- renderDataTable({
    datatable(mtcars)  %>%
     formatRound('disp', 1)
  })  
  observe({
      print(input[["DT_cell_clicked"]])
   })
}
shinyApp(ui, server)

Reworked into eDT():

ui <- fluidPage(eDTOutput("DT"))
server <- function(input, output, session){
  editbl::eDT(
    id = "DT",
    data = mtcars,
    format = function(x){formatRound(x,'disp', 1)})
   
   observe({
      print(input[["DT-DT_cell_clicked"]])
   })
}
shinyApp(ui, server)