Расширение кнопки для таблицы данных - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь добавить в свою таблицу данных такие кнопки, как «copy», «excel», «pdf», «print» и «csv», но после выполнения кода я получаю только «copy», «csv»',' pdf 'и' print 'и кнопки не работают.Пожалуйста, что я делаю не так?У меня последняя версия блестящая.Вот код ниже:

 output$Tab<-renderDataTable(
        server=FALSE,
        data.frame(
          "People"=people,
          "Industries"=industries,
          "Schools"=schools,
         "Hospitals"=hospitals),
        extensions=c('Buttons','AutoFill','ColReorder','KeyTable','Responsive'),options=list(dom='Bfrtip',buttons=list(
          'copy','pdf','csv','excel','print'),autoFill=TRUE,colReorder=TRUE,keys=TRUE)

      )

1 Ответ

0 голосов
/ 18 октября 2018

extensions и options являются аргументами для datatable(), а не renderDataTable().См. Примеры в расширениях DataTables , статья .Вы можете просто обернуть свои data.frame, options и extensions в datatable(), и ваш код будет работать.

Однако, может быть более читабельно построить datatable отдельно, а затем простовызовите объект в рендере.

Кроме того, в соответствии с документами для блестящий DT рекомендуется использовать renderDT вместо renderDataTable, чтобы избежать возможных коллизий с функциямите же имена в блестящей.

Я мог бы сделать что-то вроде этого:

library(DT)

my_table <- DT::datatable(
    data.frame(
        "People"=people,
        "Industries"=industries,
        "Schools"=schools,
        "Hospitals"=hospitals),
    extensions=c('Buttons','AutoFill','ColReorder','KeyTable','Responsive'),
    options=list(dom='Bfrtip',
                 buttons=list('copy','pdf','csv','excel','print'),
                 autoFill=TRUE,
                 colReorder=TRUE,
                 keys=TRUE)
)

output$Tab<-renderDT(
    server=FALSE,
    my_table
)
...