我希望能够在下面创建的数据框的底部添加一个Total/Subtotal,显示为DataTable.我希望在应用的每个DataTable过滤器时更新Total/Subtotal.假设用户过滤前10条记录,我希望总数计算前10条记录的总和,或者如果用户过滤20条记录,我希望总数反映20条记录的总和,依此类推.
通过将新行绑定到现有数据帧以执行所需的计算,我想到了一种在R中实现此目的的方法.但我想知道是否有一种通过DataTables选项实现这一目标的简单方法.与使用" 页脚回调"功能的此示例类似的内容.
#Load required packages
require(shiny)
#Create a dataframe
df <- data.frame(random=1:25)
server <- function(input,output,session){
#Display df using DataTable and apply desired options
output$display <- renderDataTable({df})
}
ui <- shinyUI(fluidPage(
#Add a title
h1('Testing TableTools'),
mainPanel(
#Display results
dataTableOutput('display')
)
))
shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud) 下面的代码生成一个DataTable输出,我希望使用“电子邮件”按钮通过电子邮件发送它,类似于下面创建的“导出”按钮。有没有简单的方法来添加按钮,以便在单击时弹出Microsoft Outlook以将数据表作为附件发送,例如以csv格式发送?
#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 = …Run Code Online (Sandbox Code Playgroud)