Nothing
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?
eDTOutput()
uses an id
argument instead of outputId
since it's actually a
shiny module.eDT()
adds extra (hidden) columns to your datatable
. Try to format using
column names instead of indexes.datatable
now exists within a module (e.g. child namespace). This means
your own chosen outputId
is now moduleId-DT
. This influences for example
the values accessible under input
. Example: switch from
input$outputId_cell_clicked
to input[["moduleId-DT_cell_clicked"]]
.eDT()
accepts all arguments of DT::datatable()
, but has some different
defaults for convenience.format
argument of eDT()
.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)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.