默认情况下折叠DT表列

时间:2020-07-17 08:35:44

标签: r dt

根据文档(https://rstudio.github.io/DT/extensions.html)下方, 下面的代码默认情况下应折叠第一列和第二列(0,1),但尝试时默认显示所有列。

默认情况下我们只能显示两列吗?

datatable(
        iris2, rownames = FALSE,
        extensions = 'Buttons', options = list(
          dom = 'Bfrtip',
          buttons = list(list(extend = 'colvis', columns = c(2, 3, 4)))
        )
      )

1 个答案:

答案 0 :(得分:1)

您必须使用columnDefs隐藏列:

datatable(
  iris, rownames = FALSE,
  extensions = 'Buttons', options = list(
    dom = 'Bfrtip',
    buttons = list(list(extend = 'colvis', columns = c(2, 3, 4))),
    columnDefs = list(
      list(targets = c(2,3,4), visible = FALSE)
    )
  )
)

编辑

在您的评论中,您要求“全部显示”功能(您应该已经打开了一个新问题,但是很好)。这是我发现的方式:

datatable(
  iris, rownames = FALSE,
  extensions = 'Buttons', options = list(
    dom = 'Bfrtip',
    buttons = list(
      list(
        extend = 'colvis', 
        columns = c(2, 3, 4)
      ),
      list(
        extend = 'colvisGroup', 
        text = "Show all",
        show = ":hidden"
      ),
      list(
        extend = 'colvisGroup', 
        text = "Show none",
        hide = ":visible"
      )
    ),
    columnDefs = list(
      list(targets = c(2,3,4), visible = FALSE)
    )
  )
)