我正在尝试在Shiny应用程序中显示一个相对较大的DataTable。表格的尺寸为7000x30。在Chrome中的性能非常差,因此我添加了“滚动条”扩展来限制渲染,但没有起到作用。似乎是列数过多导致了问题,而不是行数过多。我还尝试使用
以下是示例:
colvis
扩展,但该按钮会提供一个不可滚动的列表,对于30列,这种方法行不通。我还尝试使用visible选项隐藏一些列,但也没有起到作用。以下是示例:
data = as_tibble(matrix(runif(200000), ncol=30))
data %>%
DT::datatable(filter = 'top', extensions = c('Buttons', 'Scroller'),
options = list(scrollY = 650,
scrollX = 500,
deferRender = TRUE,
scroller = TRUE,
# paging = TRUE,
# pageLength = 25,
buttons = list('excel',
list(extend = 'colvis', targets = 0, visible = FALSE)),
dom = 'lBfrtip',
fixedColumns = TRUE),
rownames = FALSE)
奇怪的是,Rstudio 查看器可以显示数据表格并且正常运作。只有当我将文档作为闪亮文档运行并在 Chrome 中打开时,它才变得非常缓慢。我的问题是:
- 为什么会发生这种情况?
- 如何默认只显示有限数量的列,并具有显示其他列的选项?
- 如果列的列表超过页面长度,是否有更好的
colvis
按钮?我无法访问那些隐藏列以切换它们的状态。
Server = TRUE
(默认情况下是这样的)。我认为scroller
的作用是通过在滚动时加载数据来允许大型数据集的滚动视图。因此,您不需要按页面分割它。另外,当我减少列数时,我没有问题,问题出在列而不是行。 - Courvoisier