我尝试申请 datatable options and extensions绘制 table .它的工作如果遵循引用但当我组合/应用多个扩展时 ColVis 不起作用。任何的想法?
df %>%
datatable(., caption="Table 3.4.1 : Partial Matching Teams' Name.",
extensions=list('ColReorder','ColVis', list(FixedColumns=list(leftColumns=2))),
options=list(autoWidth=TRUE,
dom='C<"clear">lfrtip',
colVis=list(exclude=c(0, 1),
activate='mouseover'),
colReorder=list(realtime=TRUE),
scrollX=TRUE,
scrollCollapse=TRUE))
最佳答案
根据 DT manual 与某些扩展相关的选项需要放置在命名列表中。如果在 options
属性中指定选项,则必须分配 NULL
。
datatable(.,extensions=list("ColReorder" = NULL,
"ColVis" = NULL,
"FixedColumns"=list(leftColumns=2))
另一个错误是由于
dom
属性不足而产生的。有关更多信息 see this link 。 dom
中的每个字母都与表输出的指定元素相关联。大写与extension
和小写与表元素(R
相关联的字母 - 山口ř eorder,C
- Ç olVis,T
- 表Ť ools,t
- 吨能,i
- 表我 NFO等)。如果缺少示例“R”,因此 Col R eorder 无法工作。使用添加的 TableTools 将所有内容放在正确的代码下方:iris %>%
datatable(
extensions = list("ColReorder" = NULL,
"ColVis" = NULL,
"TableTools" = NULL,
"FixedColumns" = list(leftColumns=2)),
options = list(autoWidth=TRUE,
oColReorder = list(realtime=TRUE),
oColVis = list(exclude=c(0, 1), activate='mouseover'),
oTableTools = list(
sSwfPath = "//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/swf/copy_csv_xls.swf",
aButtons = list("copy","print",
list(sExtends = "collection",
sButtonText = "Save",
aButtons = c("csv","xls")))),
dom = 'CRTrilftp',
scrollX = TRUE,
scrollCollapse = TRUE))
升级!
由于 DT 已升级 (v0.1.56) 扩展,
TableTools
和 ColVis
不再可用。根据上面的新 tutorial 扩展可以通过 buttons
扩展。新版本的包更一致,添加扩展比以前更容易: DT:::datatable(
iris,
escape=F,
filter = "top",
rownames= F,
extensions = list("ColReorder" = NULL,
"Buttons" = NULL,
"FixedColumns" = list(leftColumns=1)),
options = list(
dom = 'BRrltpi',
autoWidth=TRUE,
lengthMenu = list(c(10, 50, -1), c('10', '50', 'All')),
ColReorder = TRUE,
buttons =
list(
'copy',
'print',
list(
extend = 'collection',
buttons = c('csv', 'excel', 'pdf'),
text = 'Download'
),
I('colvis')
)
)
)
关于r - 如何在 DT::datatable 中设置多个选项列表和扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33432174/