【发布时间】:2015-09-16 17:23:25
【问题描述】:
数据表不会在 Shinydashboard 中呈现。它只是为盒子渲染了一条白色的细条。仅在 RStudio 中运行数据表函数会在 RStudio 查看器中呈现数据表。那么在闪亮的应用程序中呈现 DT 数据表的正确方法是什么?
## app.R ##
library(shiny)
library(shinydashboard)
library(htmlwidgets)
library(DT)
library(xtable)
source('../ts01/db.R')
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
fluidRow(
box(tableOutput("table1"))
)
)
)
server <- function(input, output) {
output$table1 <- DT::renderDataTable({
datatable(amount_data)
})
}
shinyApp(ui, server)
【问题讨论】:
-
由于您没有提供实际的表格内容,我最初的猜测是您将 source('../ts01/db.R') 更改为 source('../ts01/db.R' , local=TRUE)。
-
也不确定是否有必要调用
datatable(amount_data),我认为如果amount_data 是data.frame,它会在没有额外命令的情况下这样做。 -
数据来自 source('../ts01/db.R')。此 R 脚本使用 RMySQl 将 SQL 表查询到有效数据帧中。
-
在 RStudio 中,对 datatable(amount_data) 的调用会在 RStudio 查看器中呈现数据表。假设它是渲染数据所必需的。
-
renderDataTable()必须与dataTableOutput()配对,而不是tableOutput()
标签: r datatable shiny shinydashboard dt