如何在DT :: datatable中设置多个选项列表和扩展名

RYO*_* Hu 3 r datatables

我尝试应用数据选项和扩展来绘制表格.它的工作如果遵循引用但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))
Run Code Online (Sandbox Code Playgroud)

GoG*_*nzo 5

根据与某些扩展相关联的DT手册选项,需要将其放在命名列表中.如果指定options属性中的选项,则NULL必须分配.

datatable(.,extensions=list("ColReorder" = NULL,
                            "ColVis" = NULL,
                            "FixedColumns"=list(leftColumns=2))
Run Code Online (Sandbox Code Playgroud)

由于dom属性不足而生成另一个错误.有关详细信息,请参阅此链接.每个字母dom都与表输出的指定元素链接.extension与表格元素相关联的大写字母和小写字母(R- Col R eorder,C- C olVis,T- Table T ools,t- t able,i- table 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))
Run Code Online (Sandbox Code Playgroud)

升级! 由于DT已升级(v0.1.56)扩展TableTools并且ColVis不再可用.根据上面的新教程,扩展可以通过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')
                  )
              )
    )
Run Code Online (Sandbox Code Playgroud)

  • 我尝试运行上面的最新升级编码但是在css上提示我下面的错误:`match.arg中的错误(样式,list.files(depPath("datatables","css"))):'arg'应该是一个of"dataTables.bootstrap.extra.css","dataTables.bootstrap.min.css","dataTables.bootstrap4.min.css","dataTables.foundation.min.css","dataTables.jqueryui.min.css" ,"dataTables.material.min.css","dataTables.semanticui.min.css","dataTables.uikit.min.css","jquery.dataTables.extra.css","jquery.dataTables.min.css" ` (2认同)