Изменить цвет темы DT таблицы - PullRequest
0 голосов
/ 22 октября 2018

Как изменить цветовую тему таблицы DT в блестящем приложении?По умолчанию он использует темные и светло-серые цвета для альтернативных рядов.Я использую formatStyle(target = 'row', backgroundColor = c('yellow', 'red').Но это не работает, так как работает только со столбцами

library(shinydashboard)

header <- dashboardHeader(title = 'title')
sidebar <- dashboardSidebar(
  sidebarMenu(
    menuItem('dashboard', tabName = 'dashboard', icon = icon('dashboard'))
  )
)
body <- dashboardBody(
           box(
             title = 'box', width = NULL, status = 'primary',
             DT::dataTableOutput('table2')  
  )
)

ui<-dashboardPage(header, sidebar, body)

server = function(input, output) {
  output$table2 = DT::renderDataTable(
    iris, options = list(lengthChange = FALSE)
  )
}

shinyApp(ui, server)

1 Ответ

0 голосов
/ 22 октября 2018

Это должно сделать, обратите внимание, что я оставил заголовок белого цвета:

library(shinydashboard)
library(shiny)
library(DT)

header <- dashboardHeader(title = 'title')
sidebar <- dashboardSidebar(
  sidebarMenu(
    menuItem('dashboard', tabName = 'dashboard', icon = icon('dashboard'))
  )
)

body <- dashboardBody(
  tags$style(HTML('table.dataTable tr:nth-child(even) {background-color: pink !important;}')),
  tags$style(HTML('table.dataTable tr:nth-child(odd) {background-color: yellow !important;}')),
  tags$style(HTML('table.dataTable th {background-color: white !important;}')),
  box(
    title = 'box', width = NULL, status = 'primary',
    DT::dataTableOutput('table2')  
  )
)

ui<-dashboardPage(header, sidebar, body)

server = function(input, output) {
  output$table2 = DT::renderDataTable(
    iris, options = list(lengthChange = FALSE)
  )
}

shinyApp(ui, server)

enter image description here

...