2015-06-30 184 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') 
相關問題