R Shiny 使 DataTable 列可手动调整大小

R Shiny making DataTable columns manuallly resizable

请问是否可以让用户通过点击列并拖动来手动调整列宽。如果是,怎么做?

您可以使用 colResize 插件来做到这一点。下载 js 文件和 css 文件。在下面的代码中,path/to/colResize 是包含这两个文件的文件夹的路径。如果使用绝对路径,则不需要normalizePath.

library(DT)
library(htmltools)

dep <- htmlDependency(
  name = "colResize", 
  version = "1.6.1", 
  src = normalizePath("path/to/colResize"),
  script = "jquery.dataTables.colResize.js",
  stylesheet = "jquery.dataTables.colResize.css",
  all_files = FALSE
)

dat <- iris

dtable <- datatable(
  dat,
  options = list(
    colResize = list()
  )
) 

deps <- dtable$dependencies
deps <- c(deps, list(dep))
dtable$dependencies <- deps

dtable