问题
Great R community, I am just wondering if it is possible to show DT::dataTableOutput in a modal with the push of an action button. For example, data table output as something like following.
Here is a some code to begin with:
## app.R ##
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(),
## Sidebar content
dashboardSidebar(
sidebarMenu(
menuItem("Dashboard", tabName = "dashboard", icon = icon("dashboard"))
)
),
## Body content
dashboardBody(
tabItems(
# First tab content
tabItem(tabName = "dashboard",
actionButton("showTable", "Show Table", icon = icon("table"))
##fluidRow( DT::dataTableOutput('tbl') )
## SOME CODE TO SHOW DATA TABLE IN MODAL
)
)
)
)
server <- function(input, output) {
output$tbl = DT::renderDataTable(
iris, options = list(lengthChange = FALSE)
)
}
shinyApp(ui, server)
回答1:
Thanks Ryan for your quick suggestion. Get it nailed. Here is my working example:
## app.R ##
library(shiny)
library(shinyBS)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(),
## Sidebar content
dashboardSidebar(
sidebarMenu(
menuItem("Dashboard", tabName = "dashboard", icon = icon("dashboard"))
)
),
## Body content
dashboardBody(
tabItems(
# First tab content
tabItem(tabName = "dashboard",
actionButton("showTable", "Show Table", icon = icon("table")),
bsModal("modalExample", "Data Table", "showTable", size = "large",
dataTableOutput("tbl"))
)
)
)
)
server <- function(input, output) {
output$tbl = renderDataTable( iris, options = list(lengthChange = FALSE))
}
shinyApp(ui, server)
来源:https://stackoverflow.com/questions/43748316/show-datatableoutput-in-modal-in-shiny-app