闪亮的R中的水平滚动问题

时间:2017-04-11 18:07:13

标签: r scroll shiny horizontal-scrolling dt

我在新的闪亮R中,我遇到水平滚动的问题。这是我的代码。

output$sbirx.view <- DT::renderDataTable(
{
  dataset.filter()
}, options = list(
                  searching = TRUE,
                  autoWidth=TRUE,
                  paging=FALSE,
                  scrollX=TRUE,
                  scrollY="500px",
                  scrollCollapse = TRUE,
                  fixedHeader=TRUE,
                  fixedColumns=list(leftColumns = 2, rightColumns = 0, 
                                    heightMatch = 'none')
                ),
            rownames=FALSE,
            class = 'cell-border stripe',
            extensions = c('FixedColumns',"FixedHeader")

数据有79列,我可以选择要显示的列数。应修复前2个左列(DISEASE和PRODUCT),如果只显示3列,则表格如下所示。但是,如果我选择适合屏幕的几个列,它就没有问题。

疾病产品疾病产品2010-11 疾病1产品1疾病1产品1 25,000 疾病1产品2疾病1产品2 15,000 疾病1产品3疾病1产品3 5,000

有没有办法使用任何选项解决这个问题?

感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:3)

看起来就像纠正选项声明并指定缺少的Scroller扩展名一样简单:

library("shiny")
library("DT")

ui <- shinyUI(
  fluidPage(
    dataTableOutput("data")
  )
)

server <- shinyServer(function(input, output) {

  output$data <- renderDataTable({
    datatable(cbind(iris, iris, iris, iris), 
              extensions = c("FixedColumns", "FixedHeader", "Scroller"), 
              options = list(
                # dom = 't',
                # deferRender = TRUE,
                searching = TRUE,
                autoWidth = TRUE,
                # scrollCollapse = TRUE,
                rownames = FALSE,
                scroller = TRUE,
                scrollX = TRUE,
                scrollY = "500px",
                fixedHeader = TRUE,
                class = 'cell-border stripe',
                fixedColumns = list(
                  leftColumns = 3,
                  heightMatch = 'none'
                  )
                )
              )
  })
})

shinyApp(ui, server)

enter image description here