首页 > 解决方案 > R Shiny-fixedHeader 扩展工作,但 fixedColumns 不是。为什么?

问题描述

我想我正确地遵循了 DataTables Extensions指令来冻结数据表中的标题和第一列。标题扩展工作正常,但第一列没有。我究竟做错了什么?

我创建了一个向量

extensions = c('FixedHeader','FixedColumns')

我还在选项列表中添加了参数:

options = list(order=list(0,'asc'), 
                                      dom='t', 
                                      pageLength= 100, 
                                      autoWidth = TRUE, 
                                      fixedHeader = TRUE, 
                                      fixedColumns= TRUE),
                       rownames = FALSE)

我在一个闪亮的结构中运行它。

完整的服务器代码:

server <- function(input, output, session) {
  categories <- reactive({
    filter(df, var_1 == input$var_1)
  })
  observeEvent(categories(), {
    choices <- unique(categories()$var_2)
    updateSelectInput(inputId = "var_2", choices = choices) 
  })
  
  
  output$data <- DT::renderDataTable({
    req(input$var_2)
    
    table<-categories() %>% 
      filter(var_2 %in% input$var_2) %>% 
      select(var_2, var_3)%>%
      mutate(result="Yes") %>%
      tidyr::pivot_wider(names_from = var_2, values_from = result, values_fill = "No")%>%
      rename(Columns=var_3)
    
    table_1<-DT::datatable(table, 
                           filter= 'top', 
                           extensions = c('FixedHeader','FixedColumns'), 
                           options = list(order=list(0,'asc'), 
                                          dom='t', 
                                          pageLength= 100, 
                                          autoWidth = TRUE, 
                                          fixedHeader = TRUE, 
                                          fixedColumns= TRUE),
                           rownames = FALSE)
    table_2 <-DT::formatStyle(table_1,
                      columns = colnames(table),
                      fontWeight = styleEqual(c('No', 'Yes'), c('normal', 'bold')))
  
  
    return(table_2)
    
    
      
  })
}


谢谢

标签: rshinyfixed-header-tables

解决方案


推荐阅读