jquery - 如何解决数据表中 Shiny 的错位问题?

标签 jquery css r datatable shiny

我正在努力

  • 使数据表中所有列的宽度相同
  • 将数据表(标题及其内容)左对齐
  • 一旦达到主面板宽度就启用水平滚动

但我的数据表自动居中到主面板,它的标题和内容也未对齐。

例子:

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/

相关文章:

javascript - 帮助 jquery 验证

javascript - 无法向动态创建的元素添加类

html - 下拉不相对于父级居中

r - 转换堆积密度图中每个因子的高度 (ggplot2)

r - 在循环中将数据附加到数据帧 - 函数仅返回数据帧的最后一行

R dplyr - 同一列,获取数据帧以下两行的总和

javascript - 2页之间实时同步

javascript - 如何防止子可排序对象被克隆

HTML/CSS 给 li 一个边距并且不影响其他 child

jquery - 滚动 x 高度后触发 jquery