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)
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)


Try the editbl package in your browser

Any scripts or data that you put into this service are public.

editbl documentation built on April 3, 2025, 6:21 p.m.