R数据表冻结前N列

R数据表冻结前N列,r,shiny,datatable,datatables,shinyapps,R,Shiny,Datatable,Datatables,Shinyapps,基本上,我在这里问和回答了相同的问题,主要区别在于我的数据表扩展是按钮,我无法更改它,因为我需要用户能够将数据导出到cxv、excel和pdf。 尽管如此,我仍然需要阻止/冻结前两列。 有可能吗? 这是我的数据表: df <- datatable(df_data, rownames= F, filter = 'top', #lengthChange = T,

基本上,我在这里问和回答了相同的问题,主要区别在于我的数据表扩展是按钮,我无法更改它,因为我需要用户能够将数据导出到cxv、excel和pdf。 尽管如此,我仍然需要阻止/冻结前两列。 有可能吗? 这是我的数据表:

df <- datatable(df_data, 
                  rownames= F,
                  filter = 'top',
                  #lengthChange = T,
                  extensions = "Buttons",
                  caption = paste0("Min, Median, Max - Unfiltered data."),
                  options = list(scrollX = TRUE
                                 , autoWidth = TRUE
                                 , pageLength = 5
                                 #,  columnDefs = list(list(width = '200px', targets = c(0)  ))
                                 , initComplete = JS("function(settings, json) {","$(this.api().table().header()).css({'font-size': '10px'});","}")
                                 , dom = 'Blfrtip'
                                 ,searching = FALSE 
                                 , info = FALSE
                                 #, fixedColumns = list(leftColumns = 2)
                                 ,buttons = c('copy', 'csv', 'excel', 'pdf')
                  ))

df我真的很高兴回答我自己的问题。
最初,我阅读了以下有用的资源:
然而,他们并没有强调可以组合多个扩展!
我通过阅读了解到这一点:
这是我的表的最终版本,现在允许我冻结前N列:

df <- datatable(df_data, 
                  rownames= F,
                  filter = 'top',
                  #lengthChange = T,
                  extensions = c("Buttons","FixedColumns"),
                  caption = paste0("Min, Median, Max - Unfiltered data."),
                  options = list(scrollX = TRUE
                                 , autoWidth = TRUE
                                 , pageLength = 5
                                 #,  columnDefs = list(list(width = '200px', targets = c(0)  ))
                                 , initComplete = JS("function(settings, json) {","$(this.api().table().header()).css({'font-size': '10px'});","}")
                                 , dom = 'Blfrtip'
                                 ,searching = FALSE 
                                 , info = FALSE
                                 , fixedColumns = list(leftColumns = 2)
                                 ,buttons = c('copy', 'csv', 'excel', 'pdf')
                  ))
df