冻结数据表中的页眉和页脚 - 有光泽

Freeze Header and Footer in Datatable - shiny

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

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.

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

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

代码:

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

输出: