首页 > 解决方案 > 冻结数据表中的页眉和页脚 - 闪亮

问题描述

我想在闪亮的应用程序中冻结数据表的页眉和页脚。我已经研究并找到了这个链接https://datatables.net/examples/basic_init/scroll_xy.html。但是当我从上面的链接中包含脚本时,数据表并没有被冻结。请帮我解决这个问题。

library(shiny)
library(shinydashboard)

ui <- dashboardPage(skin = "black",
                    dashboardHeader(title = "test"),
                    dashboardSidebar(
                      sidebarMenu(
                        menuItem("Complete", tabName = "comp"))),
                    dashboardBody(useShinyjs(),
                      tabItems(
                        tabItem(tabName = "comp",
                                  fluidRow(
                                    box(title = "data", width = 12, solidHeader = TRUE, status = "primary", 
                                        collapsible = TRUE, dataTableOutput("tbe")))))))

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

  output$tbe <- renderDataTable(mtcars)

  observe({
    runjs("
          $(document).ready(function() {
          $('#DataTables_Table_0').DataTable( {
          \"scrollY\": 200,
          \"scrollX\": true
          } );
          } );

          ")

          })

}
shinyApp(ui, server)

谢谢,SJB。

标签: rshinyshinyjs

解决方案


不需要包含jquery, 而是使用options参数:

  • scrollX:一个布尔值(TRUEFALSE
  • scrollY:像素数或任何其他有效CSS单位。

代码:

output$tbe <- renderDataTable(mtcars, options = list(scrollX = TRUE, scrollY = "200px"))

输出:

输出


推荐阅读