R datatable不在仪表板中呈现
datatable不会在Shinydashboard中呈现。它只是为长方体渲染一条白色的细条。仅在RStudio中运行datatable函数会在RStudio查看器中呈现datatable。那么,在闪亮的应用程序中呈现DT数据表的正确方法是什么R datatable不在仪表板中呈现,r,datatable,shiny,shinydashboard,dt,R,Datatable,Shiny,Shinydashboard,Dt,datatable不会在Shinydashboard中呈现。它只是为长方体渲染一条白色的细条。仅在RStudio中运行datatable函数会在RStudio查看器中呈现datatable。那么,在闪亮的应用程序中呈现DT数据表的正确方法是什么 ## app.R ## library(shiny) library(shinydashboard) library(htmlwidgets) library(DT) library(xtable) source('../ts01/db.R') ui
## 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)
##app.R##
图书馆(闪亮)
图书馆(shinydashboard)
库(htmlwidgets)
图书馆(DT)
图书馆(xtable)
源('../ts01/db.R')
ui您应该尝试以下操作:
1)tableOutput
rm(list = ls())
library(shiny)
library(shinydashboard)
my_data <- head(mtcars)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
fluidRow(
box(tableOutput("table1"))
)
)
)
server <- function(input, output) {
output$table1 <- renderTable({
my_data
})
}
shinyApp(ui, server)
rm(list = ls())
library(shiny)
library(DT)
library(shinydashboard)
my_data <- head(mtcars)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
fluidRow(
box(DT::dataTableOutput("table1"))
)
)
)
server <- function(input, output) {
output$table1 <- DT::renderDataTable({
datatable(my_data)
})
}
shinyApp(ui, server)
要确保使用正确的包呈现datatable,请在ui中使用此包:
DT::dataTableOutput('table1')
由于您没有提供实际的表内容,我的初步猜测是您将source('../ts01/db.R')更改为source('../ts01/db.R',local=TRUE)。也不确定是否有必要调用datatable(amount\u data)
,我认为如果amount\u data是data.frame
,则无需额外的命令即可完成。数据来自source('../ts01/db.R')。此R脚本使用RMySQl将SQL表查询到有效的数据帧中。在RStudio中,对datatable(amount_data)的调用在RStudio查看器中呈现datatable。我们假设呈现数据需要它。renderDataTable()
必须与dataTableOutput()
配对,而不是tableOutput()()
如果缩小浏览器窗口,您会注意到datatable不包含在box元素中。请使用datatable(my_data,extensions='Responsive')