我有一个dataTabe,我正在尝试为它实现tableTools,以便以csv格式导出记录。但是,当过滤的数据超过1页的记录时,如这里提供的示例,导出按钮不会拾取第二页及以后的记录,它只会导出第一页。
从我的研究来看,oSelectorOps:{ page: 'all' }选项应该可以做到这一点。然而,我不能让它工作。如果你运行下面的代码并点击导出按钮,它将产生一个只有100行(即第一页)的csv文件,而不是整个表格。如果我的语法不正确,或者有没有更好的替代方法,请告诉我。
请注意,我不想使用downloadHandler,因为我希望能够在使用表格底部的DataTable filter字段进行过滤时导出数据。
下面是我的可重现的例子:
#Load required packages
require(shiny)
#Create a dataframe
df <- data.frame(random=1:160)
server <- function(input,output,session){
#Display df using DataTable and apply desired options
output$display <- renderDataTable({df},
option=list(pageLength=100,
"dom" = 'T<"clear">lfrtip',
"tableTools" = list(
"sSwfPath" = "//cdn.datatables.net/tabletools/2.2.3/swf/copy_csv_xls_pdf.swf",
"aButtons" = list(list("sExtends" = "csv","oSelectorOpts"=list("page"="all"),"sButtonText" = "Export","aButtons" ="csv")))
)
)
}
ui <- shinyUI(fluidPage(
#Add a title
h1('Testing TableTools'),
#Add required JS libraries
tagList(
singleton(tags$head(tags$script(src='//cdn.datatables.net/1.10.4/js/jquery.dataTables.min.js',type='text/javascript'))),
singleton(tags$head(tags$script(src='//cdn.datatables.net/tabletools/2.2.3/js/dataTables.tableTools.min.js',type='text/javascript'))),
singleton(tags$head(tags$link(href='//cdn.datatables.net/tabletools/2.2.3/css/dataTables.tableTools.css',rel='stylesheet',type='text/css')))
),
mainPanel(
#Display results
dataTableOutput('display')
)
))
shinyApp(ui = ui, server = server)发布于 2015-02-03 05:12:30
试试这个:
{
sExtends: "csv",
"oSelectorOpts": {
page: 'all',
filter:'applied'
},
"mColumns": "visible"
},https://stackoverflow.com/questions/27649481
复制相似问题