DT&进度条在shiny中的应用

来源:互联网 发布:人类 动物 知乎 编辑:程序博客网 时间:2024/06/07 10:03

找了半天终于找到了shiny中显示进度条的方法,直接上demo,记录下。

UI脚本

### UIlibrary(shiny)ui = fluidPage(  sidebarPanel(    #侧边栏的控制键    width = 3,#设置侧边栏的宽度    #时间控件    dateRangeInput(      inputId = "date",      label = h2(strong(span("日  期", style = "color:blue"))),      start = Sys.Date() - 7,      #开始日期设置      end = Sys.Date() - 1,      language = "zh-CN",      width = "90%",      separator = "至"    ),    actionButton(inputId = "update", label = "提 交",icon=icon('play-circle'))),mainPanel(DT::dataTableOutput(outputId = 'tbl')))

Server脚本

if (!require("DT")){install.packages('DT')}library(shiny)library(DT)## 对脚本里所有datatable()部分一起设置。## 将表格中的描述文字改成中文options(DT.options = list(  searchHighlight = TRUE,  language = list(    info = '显示第_START_ 至 _END_ 项结果,共 _TOTAL_ 项',    search = '搜索:',    paginate = list(previous = '上页', `next` = '下页'),    lengthMenu = '显示 _MENU_ 项结果'  ),  columnDefs = list(    list(className = 'dt-center',targets = "_all"))# 设置表格中列居中排列 ,参数targets的值可以选定指定列,也可以全部显示))shinyServer(function(input, output, session) {  ## 点击actionButton按钮才会更新数据,以及加载进度条  datasetInput <- eventReactive(    eventExpr = input$update,    valueExpr = {      # 加上进度条显示      progress <-        Progress$new(session,                     min = 1,                     max = 10                     # ,style = "old"                     )      on.exit(progress$close())      progress$set(message = '程序执行中')      for (i in 1:5) {        progress$set(value = i)        Sys.sleep(0.5)      }      data <- iris      for (i in 6:10) {        progress$set(value = i)        Sys.sleep(0.5)      }      data    },    ignoreNULL = T  )  output$tbl = DT::renderDataTable(    ## 修改某一列为百分比格式    expr={datatable(datasetInput())%>%formatPercentage(4, 2)} ,    filter = 'top',    # 筛选框的位置    server = TRUE,    # 不显示行名    rownames = FALSE,    # 添加表格标题    caption = "表格的案例",    options = list(autoWidth = TRUE )  )})

最终页面

这里写图片描述

这里写图片描述

REF

[1]https://datatables.net/reference/option/
[2]http://www.jianshu.com/p/90e290e80cd0

后记

参数太多了,我只是关注功能简单的实现,所以,就一知半解吧。参考文档参数设置实在想太多鸟,且都是英文,感兴趣&有时间可以多关注吧~

原创粉丝点击