Цвет фона в области заголовка имени строки данных (вверху слева)

Использование scrollX = TRUE делает недействительным цвет фона перекрестного пространства между именами столбцов и строк таблицы данных. Изменение на scrollX = FALSE работает, но также удаляет эффект fixedColumns.

output$monthly_summary_FA <- renderDataTable({
mytable <- FA_table() %>% column_to_rownames('Time') %>% as.matrix() %>% t() %>% as.data.frame()
colnames(mytable) <- paste0('<span style="color:black;font-family:Arial Narrow, sans- 
serif;">',colnames(mytable),'</span>')
rownames(mytable) <- paste0('<span style="color:black;font-family:Arial Narrow, sans-serif;font- 
weight: bold;">', rownames(mytable),'</span>')
datatable(mytable,
        extensions = c('Scroller','FixedColumns'),class="compact",escape=FALSE,
        options = list(ordering=FALSE,scrollX = FALSE,deferRender = TRUE,dom = 't',
                       columnDefs = list(list(className = 'dt-center', targets = "_all")),
                       fixedColumns = list(leftColumns = 1))
        ) %>% 
formatPercentage(c(1:ncol(mytable)), 0) %>% 
formatStyle(target = 'row',columns = colnames(mytable),
            backgroundColor = "skyblue",'text-align'="left",'scrollbar-width'= 'thin','-webkit-box-sizing'= 'content-box', 
            '-moz-box-sizing'= 'content-box', 'box-sizing'= 'content-box','table-layout'='fixed') %>% 
formatStyle(c(0), `border-right` = "solid 1px") })

scrollX = ИСТИНА

scrollX = ЛОЖЬ

Обновление: добавлен фрейм данных mytable, ввод для renderDataTable моя таблица


person ksh22    schedule 27.07.2020    source источник
comment
Было бы трудно помочь вам без репрекса. Предоставьте пример фрейма данных для FA_table()   -  person YBS    schedule 27.07.2020
comment
Спасибо @YBS, mytable добавлен в обновлении   -  person ksh22    schedule 27.07.2020


Ответы (1)


Попробуй это

output$monthly_summary_FA <- renderDataTable({
    # mytable <- my_data %>% column_to_rownames('Time') %>% as.matrix() %>% t() %>% as.data.frame()
    # colnames(mytable) <- paste0('<span style="color:black;font-family:Arial Narrow, sans-serif;">',colnames(mytable),'</span>')
    colnames(mytable)[c(1:ncol(mytable))] <- paste0('<span style="color:',c("red"),'">',colnames(mytable)[c(1:ncol(mytable))],'</span>')
    rownames(mytable) <- paste0('<span style="color:black;font-family:Arial Narrow, sans-serif;font-weight: bold;">', rownames(mytable),'</span>')
    datatable(mytable,
              extensions = c('Scroller','FixedColumns'),class="compact",escape=FALSE,
              options = list(ordering=FALSE,scrollX = FALSE,deferRender = TRUE,dom = 't',
                             columnDefs = list(list(className = 'dt-center', targets = "_all")),
                             initComplete = JS(
                               "function(settings, json) {",
                               "$(this.api().table().header()).css({'background-color': '#87ceeb', 'color': '#fff'});",
                               "}"),
                             fixedColumns = list(leftColumns = 1))
    ) %>%
      formatPercentage(c(2:ncol(mytable)), 0) %>%
      formatStyle(target = 'row',columns = colnames(mytable),
                  backgroundColor = "skyblue",'text-align'="left",'scrollbar-width'= 'thin','-webkit-box-sizing'= 'content-box',
                  '-moz-box-sizing'= 'content-box', 'box-sizing'= 'content-box','table-layout'='fixed') %>%
      formatStyle(c(0), `border-right` = "solid 1px") 
  })

Ты получишь

выход

person YBS    schedule 27.07.2020