我正在努力
- 使数据表中所有列的宽度相同
- 将数据表(标题及其内容)左对齐
- 一旦达到主面板宽度就启用水平滚动
但我的数据表自动居中到主面板,它的标题和内容也未对齐。
例子:
library(shiny)
library(dplyr)
library(DT)
ui <- fluidPage(
titlePanel("Test Example"),
mainPanel(
width = 10,
dataTableOutput("cars.table")
)
)
server <- function(input, output) {
output$cars.table <- renderDataTable({
t(cars[1:10, ]) %>%
datatable(class = "compact small",
options = list(columnDefs = list(list(width = "25px", targets = "_all")), scrollX = TRUE, autoWidth = TRUE,
paging = FALSE, ordering = FALSE, searching = FALSE))
})
}
shinyApp(ui = ui, server = server)
2019/05/03 更新:
我相信this question表示这个问题是autoWidth = TRUE
引起的,但是问题下没有解决方案,如果要调整列宽,不能删除autoWidth = TRUE
还有。
最佳答案
对于对齐,您可以使用 className = dt-left
。
我猜参数 `fillContainer = T' 完成了滚动的工作。
library(shiny)
library(dplyr)
library(DT)
ui <- fluidPage(
titlePanel("Test Example"),
mainPanel(
width = 10,
dataTableOutput("cars.table")
)
)
server <- function(input, output) {
output$cars.table <- renderDataTable({
t(cars[1:10, ]) %>%
datatable(class = "compact small", fillContainer = T,
options = list(columnDefs = list(list(className = 'dt-left', width = "25px", targets = "_all")), scrollX = TRUE,
paging = FALSE, ordering = FALSE, searching = FALSE))
})
}
shinyApp(ui = ui, server = server)
关于jquery - 如何解决数据表中 Shiny 的错位问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55974761/