R数据表:标识显示的行

R数据表:标识显示的行,r,datatable,shiny,R,Datatable,Shiny,我正在开发一个包含DataTable(myDataTable)的R应用程序。这里我需要三个导出功能,提供以下功能: 将所有行导出为CSV 将所选行导出为CSV 将显示的行导出为CSV 一和二很容易解决。1.所有条目:我只导出服务器端的data.frame,它用作DataTable的数据模型。2.所选条目:我访问所选行,如下所示: observeEvent(input$myDataTable_rows_selected, { rows <- sort(input$myDataTabl

我正在开发一个包含DataTable(
myDataTable
)的R应用程序。这里我需要三个导出功能,提供以下功能:

  • 将所有行导出为CSV
  • 将所选行导出为CSV
  • 将显示的行导出为CSV
  • 一和二很容易解决。1.所有条目:我只导出服务器端的
    data.frame
    ,它用作DataTable的数据模型。2.所选条目:我访问所选行,如下所示:

    observeEvent(input$myDataTable_rows_selected, {
        rows <- sort(input$myDataTable_rows_selected)
        # do something with rows
    }
    
    observeEvent(输入$myDataTable\u行\u选中{
    
    行您可以简单地使用
    input$myDataTable\u rows\u all
    来过滤数据

    小例子:

    library(shiny)
    library(DT)
    
    shinyApp(
      ui = fluidPage(
        dataTableOutput('myDataTable')
      ),
    
      server = function(input, output) {    
        observeEvent(input$myDataTable_rows_all, {
          rows_filtered <- input$myDataTable_rows_all
          rows_displayed <- rows_filtered[1:min(length(rows_filtered), input$myDataTable_state$length)]
          # Download rows with your download fct.
          print(rows_displayed)
        })
    
        output$myDataTable = DT::renderDataTable({
          datatable(mtcars, options = list(stateSave = TRUE))
        })
      }
    )
    
    库(闪亮)
    图书馆(DT)
    shinyApp(
    ui=fluidPage(
    dataTableOutput('myDataTable')
    ),
    服务器=函数(输入、输出){
    observeEvent(输入$myDataTable\u行\u全部{
    
    rows\u filtered感谢您指出
    \u rows\u all
    仅包含筛选的行,而不是所有行。但显示的行和筛选的行之间仍然存在差异(表中显示了许多行)。因此,我认为我的应用程序的用户必须接受这样的指导。啊,好吧,我知道了。这是可能的,通过状态变量,您可以看到显示了多少行。我不确定我是否在接下来的几分钟内完成,然后我在晚上编辑,…不着急,我只会在11或12小时内完成;-)哦,我的新命令没有发布。事实上我已经在3小时前发布了更新:)请查看编辑。现在它可以工作了,谢谢!我没有看到
    stateSave
    选项。