R Shiny : 当 fillContainer=TRUE 时调整 DT 数据表的高度,

问题描述 投票:0回答:1

在我的 R Shiny 应用程序中,我有一个 DT 数据表,对于容器的可用水平空间来说,列数过多。因此,我使用

fillContainer=TRUE
使表格适合其容器,并且可以水平和垂直滚动。

我的问题是,这样做时,即使屏幕上有足够的垂直空间,也只能同时看到 2 行。下面给出了一个可重现的示例:

library(shiny)
library(DT)

ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(dataTableOutput("DT")),
    mainPanel()
  )
)

server <- function(input, output) {
data<-mtcars
output$DT<-renderDT(
  datatable(
    data,
    fillContainer=TRUE))
}
 
shinyApp(ui = ui, server = server)

您是否有一些技巧可以轻松增加表格中可见的行数,以提高独立于应用程序中可能存在的其他元素的可读性?当然,

height
datatable
参数不会响应,因为
fillContainer=TRUE
。除了摆弄 CSS 或 HTML 来修复容器的高度之外,是否还有其他选择(如果是这样,如何?)?

非常感谢!

css r shiny datatables
1个回答
0
投票

我建议使用

scrollX = TRUE
而不是
fillContainer = TRUE

library(shiny)
library(DT)
library(datasets)

data <- mtcars

ui <- fluidPage(sidebarLayout(sidebarPanel(dataTableOutput("DT")), mainPanel()))

server <- function(input, output) {
  data <- mtcars
  output$DT <- renderDT(datatable(data, options = list(scrollX = TRUE, pageLength = 15L))) # alternative: scrollY = "80vh"
}

shinyApp(ui = ui, server = server)
© www.soinside.com 2019 - 2024. All rights reserved.