我无法使用函数dataTableOutput()
控制我添加到闪亮应用程序的数据表的宽度。我试图在函数中使用width
参数,但它在输出中没有任何变化,并且没有错误〜它没有告诉我它忽略了width
参数。
library(shiny)
library(shinythemes)
ui <- fluidPage(theme = shinytheme("Spacelab"),
fluidRow(
column(6,dataTableOutput(outputId = "table")),
column(6,p(textOutput("para")))
)
)
server <- function(input, output){
df <- as.data.frame(matrix(0, ncol = 15, nrow = 20))
output$table <- renderDataTable({df})
output$para <- renderText({
text <- rep(x = "Hello World",1000)
})
}
shinyApp(ui = ui,server = server)
答案 0 :(得分:22)
dataTableOutput
没有参数宽度。您可以在column
范围内使用fluidRow
参数宽度,提供1到12之间的整数。
library(shinythemes)
ui <- fluidPage(theme = shinytheme("Spacelab"),
fluidRow(
column(
dataTableOutput(outputId = "table"), width = 6)
)
)
server <- function(input, output){
df <- as.data.frame(matrix(0, ncol = 20, nrow = 5))
output$table <- renderDataTable({df},
options = list(scrollX = TRUE))
}
shinyApp(ui = ui,server = server)
JavaScript库DataTable中的选项可以通过renderDataTable
参数选项直接传递。例如,将scrollX设置为true允许表滚动。
答案 1 :(得分:7)
如果您使用“DT”R包以及相应的DT::dataTableOutput
和DT::renderDataTable
,您可以对这些调用使用“宽度”选项,这显然可以是%(例如宽度) =“100%”)或像素(宽度= 300),它可以让你获得你想要的控制。
请参阅: https://rstudio.github.io/DT/shiny.html
从该页面注意:
重要提示:在调用dataTableOutput时,请务必使用DT ::前缀 和renderDataTable,以便这些函数的DT版本 保证被调用,而不是被弃用的Shiny版本。如果 你确保库(光泽)之后的库(DT),通常是DT 如果你不使用,版本应该覆盖闪亮的版本 DT ::前缀(如果有疑问,请使用此前缀,直到我们完全 从闪亮中删除这些功能