2015-06-30 136 views
3

数据表不会在信息显示板中呈现。它只是为盒子呈现一个薄白色条纹。仅在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) 
+0

当你还没有提供的实际表中的内容,我最初的猜测是,你改变源(“../ TS01/db.R”)源('../ts01/db.R',local = TRUE)。 –

+0

也不知道它有必要调用'datatable(amount_data)',我想如果amount_data是一个'data.frame'它会这样做没有额外的命令。 –

+0

数据来源('../ ts01/db.R')。此R脚本使用RMySQl将SQL表查询为有效的数据框。 –

回答

4

你应该尝试以下操作:

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) 

2)dataTableOutput

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) 
+2

您将注意到数据表未包含在box元素中。使用数据表(my_data,extensions ='Responsive') – MySchizoBuddy

1

为了确保您使用正确的软件包来呈现你的数据表中使用该在你的用户界面,而不是:

DT::dataTableOutput('table1') 
相关问题