Jon*_*ton 7 r tabletools shiny jquery-datatables
对于这个问题,我使用的是这里的R Shiny教程示例:
http://rstudio.github.io/shiny/tutorial/#datatables
在本教程上运行代码会将应用程序呈现在以下URL中
http://glimmer.rstudio.com/yihui/12_datatables/
我想知道的是,一旦呈现数据表,我们可以使用R Shiny中renderDataTable()函数内置的功能进行搜索,但是可以使用renderDataTable()下载已过滤的数据功能?
例如,如果在数据表搜索栏中输入"非常好",则仅显示"剪切"字段中记为"非常好"的记录.那我怎么下载那个数据集呢?
如何将TableTools.js复制,打印,保存等按钮调用到此代码中?
谢谢!
您需要链接到正确的库版本。data.table 1.9.4 的链接可以在http://cdnjs.com/libraries/datatables找到。tabletools 2.1.5 的链接位于http://cdnjs.com/libraries/datatables-tabletools
library(shiny)
library(ggplot2)
runApp(
list(ui = basicPage(
h1('Diamonds DataTable with TableTools'),
tagList(
singleton(tags$head(tags$script(src='//cdnjs.cloudflare.com/ajax/libs/datatables/1.9.4/jquery.dataTables.min.js',type='text/javascript'))),
singleton(tags$head(tags$script(src='//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/js/TableTools.min.js',type='text/javascript'))),
singleton(tags$head(tags$script(src='//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/js/ZeroClipboard.min.js',type='text/javascript'))),
singleton(tags$head(tags$link(href='//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/css/TableTools.min.css',rel='stylesheet',type='text/css'))),
singleton(tags$script(HTML("if (window.innerHeight < 400) alert('Screen too small');")))
),
dataTableOutput("mytable")
)
,server = function(input, output) {
output$mytable = renderDataTable({
diamonds[,1:6]
}, options = list(
"sDom" = 'T<"clear">lfrtip',
"oTableTools" = list(
"sSwfPath" = "//cdnjs.cloudflare.com/ajax/libs/datatables-tabletools/2.1.5/swf/copy_csv_xls.swf",
"aButtons" = list(
"copy",
"print",
list("sExtends" = "collection",
"sButtonText" = "Save",
"aButtons" = c("csv","xls")
)
)
)
)
)
})
)
Run Code Online (Sandbox Code Playgroud)