设置 R DT 数据表中 lengthMenu(页面长度菜单)中值的名称

Jep*_* S. 4 r shiny dt

我正在使用 R DT 包制作数据表。我希望用户能够决定/控制是否查看数据中的 24、48、72、96 行或所有行。

这可以通过设置轻松完成:

lengthMenu = c(24,48, 72, 96, -1),
Run Code Online (Sandbox Code Playgroud)

在选项列表中,其中-1代表所有条目。

问题是用户可能不知道 -1 代表什么,因此我想让它在用户可见的菜单中显示为字符串“All”。

通过查看lengthMenu 的文档,我发现这可以通过编写来完成

$('#example').dataTable( {
"lengthMenu": [ [10, 25, 50, -1], [10, 25, 50, "All"] ]
} );
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将其翻译成 R 语言。我尝试过使用命名列表、向量和数组,但都没有成功。

下面是一个简单的例子:

library(shiny)
library(DT)

ui <- fluidPage(
  DT::dataTableOutput("table")
)

server <- function(input, output) {
  output$table <- DT::renderDataTable({
    DT::datatable(iris, options = list(pageLength = 24, 
                  lengthMenu = c(24,48, 72, 96, -1), paging = T))
  })
}

shinyApp(ui, server) 
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

谢谢

Por*_*hop 5

这应该可以。欲了解更多信息,请访问shiny-examples/018-datatable-options/

library(shiny)
library(DT)

ui <- fluidPage(
  DT::dataTableOutput("table")
)

server <- function(input, output) {
  output$table <- DT::renderDataTable({
    DT::datatable(iris, options = list(pageLength = 24, 
                        lengthMenu = list(c(24,48, 72, 96, -1), 
                                          c('24', '48', '72','96', 'All')),
                         paging = T))
  })
}

shinyApp(ui, server) 
Run Code Online (Sandbox Code Playgroud)