【问题标题】:lengthMenu option not working in DataTablelengthMenu 选项在 DataTable 中不起作用
【发布时间】:2017-09-15 18:52:10
【问题描述】:

我有一个正在运行的闪亮应用程序,我想在数据表中添加 lenghtMenu 选项。似乎它不起作用。我不确定我是否将它放在 R 代码中的错误位置。感谢您对此进行调查。

这是我的代码:

output$sbirx.view <- DT::renderDataTable(
{
  input$submit1 
  if (input$submit1==0) return()
  isolate({
    datatable(dataset.filter(), 
              rownames=FALSE,
              extensions = c("FixedColumns", "FixedHeader", "Scroller"), 
              options = list(searching=TRUE,
                            autoWidth=TRUE,
                            scroller=TRUE,
                            scrollX=TRUE,
                            #scrollY="500px",
                          scrollY=paste0(factor*nrow(dataset.filter()),"px"),
                            fixedHeader=TRUE,
                            class='cell-border stripe',
                            lengthMenu = c(5, 30, 50), pageLength = 5,

 fixedColumns=list(leftColumns=2,heightMatch='none')
                            )
           )
  })

 })

【问题讨论】:

  • 在我看来就像滚动条和长度菜单的组合。为什么要同时使用两者? “Scroller 是一个用于 DataTables 的虚拟渲染插件,它允许在屏幕上非常快速地绘制大型数据集。”您是否有要快速绘制的大型数据集,或者您想将视图限制为 5/30/50 obs?如果您删除 scroller 参数,它应该可以正常工作,...
  • 感谢您的关注。是的,我确实有一个大型数据集,我想限制视图以及垂直和水平滚动屏幕。如果我有一组较小的观察值,屏幕底部会有很多空间,因为我定义了我的 scrollY="500px"。是否有根据观察次数自动显示屏幕的方法?谢谢,祝您有美好的一天!
  • 当然,您可以使您的选择动态化。例如。相应地设置scrollY=paste0(factor*nrow(dataset.filter()),"px") and choose factor`。但是你确定你同时需要scrollerlengthMenu 吗?
  • 如果我可以调整显示那么我不需要使用lengthMenu。我很抱歉,因为我是 R 新手并且很闪亮。我是否替换了我当前的代码
  • scrollY="500px" 到您的代码。我很抱歉,因为我是 R 新手并且很闪亮。我在哪里选择因子?你能把它展示给我的代码吗?谢谢

标签: r shiny dt


【解决方案1】:

根据您的 cmets,这可能会对您有所帮助: 我猜你必须根据你的需要选择的因素。

shinyApp(
  ui = fluidPage(
    fluidRow(
      column(12,
             dataTableOutput('table')
      )
    )
  ),
  server = function(input, output) {
    output$table <- renderDataTable(iris,
                                    rownames=FALSE,
                                    extensions = c("FixedColumns", "FixedHeader", "Scroller"), 
                                    options = list(searching=TRUE,
                                                   # autoWidth=TRUE,
                                                   scroller=TRUE,
                                                   scrollX=TRUE,
                                                   scrollY=paste0(4*nrow(iris),"px"),
                                                   fixedHeader=TRUE,
                                                   class='cell-border stripe',
                                                   fixedColumns=list(leftColumns=2,heightMatch='none')
                                    )
    )
  }
)

【讨论】:

    猜你喜欢
    • 2020-12-08
    • 1970-01-01
    • 2012-03-28
    • 2019-08-11
    • 1970-01-01
    • 1970-01-01
    • 2013-08-05
    • 1970-01-01
    • 2013-04-21
    相关资源
    最近更新 更多