Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R数据表不同时显示按钮和长度菜单_R_Shiny_Dt - Fatal编程技术网

R数据表不同时显示按钮和长度菜单

R数据表不同时显示按钮和长度菜单,r,shiny,dt,R,Shiny,Dt,单击DataTable 1选项卡时,可以看到顶部的长度菜单,这是本问题的要点。服务器中以output$ex1开头的位对该数据表进行编码 事实上,我想有两个按钮列的可见性和下载数据。通过添加按钮参数,对输出$ex1进行一些修改 是必需的。然后,您将得到输出$ex2。但现在我错过了长度菜单 我认为将pageLength=5,lengthMenu=c(5,10,15,20)添加到output$ex2中可以看出,从output$ex3开始的代码可以解决这个问题,我可以恢复Length菜单。但第三张和

单击DataTable 1选项卡时,可以看到顶部的长度菜单,这是本问题的要点。服务器中以
output$ex1
开头的位对该数据表进行编码

事实上,我想有两个按钮列的可见性和下载数据。通过添加
按钮
参数,对
输出$ex1
进行一些修改 是必需的。然后,您将得到
输出$ex2
。但现在我错过了长度菜单

我认为将
pageLength=5,lengthMenu=c(5,10,15,20)
添加到
output$ex2
中可以看出,从
output$ex3
开始的代码可以解决这个问题,我可以恢复Length菜单。但第三张和第二张完全一样

1) 我怎么能同时拥有按钮和长度菜单

2) 我如何安排按钮的位置?例如,我希望colvis的按钮位于下载按钮上方

3) 当您查看下面的代码时,您会看到excel也包含在按钮中:
buttons=c('colvis','copy','csv','excel','pdf','print')
但在最后两个表中,您都看不到excel的按钮。 此外,我没有收到这方面的错误

我将感谢任何帮助

library(shiny)

ui <- navbarPage(
  title = 'DataTable Options',
  tabPanel('DataTable 1',  DT::dataTableOutput('ex1')),
  tabPanel('DataTable with Buttons 1',  DT::dataTableOutput('ex2')),
  tabPanel('DataTable with Buttons 2',  DT::dataTableOutput('ex3'))
)



server <- function(input, output) {


  output$ex1 <- DT::renderDataTable(
         DT::datatable(iris, 
              class = 'cell-border stripe', 
              filter = 'top',
              options = list(autoWidth = TRUE)))



  output$ex2 <- DT::renderDataTable(
         DT::datatable(iris, 
              class = 'cell-border stripe', 
              filter = 'top', extensions = 'Buttons', 
              options = list(autoWidth = TRUE, 
                             dom = 'Bfrtip', 
                             buttons = c('colvis', 'copy', 'csv', 'excel', 
                                         'pdf', 'print'))))


   output$ex3 <- DT::renderDataTable(
      DT::datatable(iris, 
              class = 'cell-border stripe', 
              filter = 'top', extensions = 'Buttons', 
              options = list(autoWidth = TRUE, 
                             pageLength = 5, lengthMenu = c(5, 10, 15, 20), 
                             dom = 'Bfrtip', 
                             buttons = c('colvis', 'copy', 'csv', 'excel', 
                                         'pdf', 'print'))))


  }


  shinyApp(ui = ui, server = server)
库(闪亮)

ui要同时显示按钮和长度菜单,必须将
dom
更改为
'Blfrtip'

output$ex2 <- DT::renderDataTable(
    DT::datatable(iris, 
                  class = 'cell-border stripe', 
                  filter = 'top', extensions = 'Buttons', 
                  options = list(autoWidth = TRUE, 
                                 dom = 'Blfrtip', 
                                 buttons = c('colvis', 'copy', 'csv', 'excel', 'pdf', 'print'))))
output$ex2您需要将“l”(小写字母“l”)添加到dom中,这使得Blfrtip:

B-按钮

变长输入控制

f-滤波输入

r-处理显示元件

t形台

i-表格资料摘要

p-分页控制

可以使用以下命令定位这些功能:

"dom": "<'row'<'col-md-3'B><'col-md-6'l><'col-md-3'f>><'row'<'col-md-12't>><'row'<'col-md-3'i><'col-md-6'><'col-md-3'p>>"
“dom”:
就像我们在引导中所做的那样。

这给了我jquery.dataTables.min.js:49:484中的错误“TypeError:d为null”