R Shiny: How to add data tables to dynamically created tabs R Shiny: How to add data tables to dynamically created tabs r r

R Shiny: How to add data tables to dynamically created tabs


To do what you want, you need to add dataTableOutput to your tabPanel as you dynamically generate them, and then you need to dynamically generate the corresponding renderDataTable.

Do this in your server:

library(DT) # need datatables packageserver <- shinyServer(function(input, output, session) {  output$mytabs <- renderUI({    nTabs = length(input$decision)    # create tabPanel with datatable in it    myTabs = lapply(seq_len(nTabs), function(i) {      tabPanel(paste0("dataset_",i),        DT::dataTableOutput(paste0("datatable_",i))                      )      })    do.call(tabsetPanel, myTabs)  })  # create datatables  observe(    lapply(seq_len(length(input$decision)), function(i) {      output[[paste0("datatable_",i)]] <- DT::renderDataTable({        as.data.frame(get(input$decision[i]))      })    })    )  })