我正在尝试向数据表中添加“ copy”,“ excel”,“ pdf”,“ print”和“ csv”等按钮,但是在运行代码后,我只会得到“ copy”,“ csv” ','pdf'和'print',并且按钮不起作用。请问我做错了什么?我拥有最新版本的Shiny。这是下面的代码:
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)
)
答案 0 :(得分:1)
extensions
和options
是datatable()
而非renderDataTable()
的参数。请参阅DataTables扩展article中的示例。您只需将data.frame
,options
和extensions
包装在datatable()
中,您的代码即可使用。
但是,单独构建datatable
然后在渲染器中调用该对象可能更具可读性。
此外,根据shiny 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
)