首页 > 解决方案 > 如何在 ShinyApp 的服务器代码中更改 renderDT({}) 中的文本颜色?

问题描述

我想用蓝色背景渲染数据表。但是,在使用“box()”的背景颜色更新代码时,由于白色,文本没有显示出来。我想将数据表的文本颜色更改为黑色。我不知道如何编写文本颜色的代码。

这是下面的代码:

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

data <- data.frame("iris")

ui <- shinyUI(
  dashboardPage(
    dashboardHeader(title = "Uptime"),
    dashboardSidebar("123"),
    dashboardBody(
      fluidPage(
        box(div(h4("Table text color", align  = "center")),
            DTOutput("scrolltable"), background = "light-blue" )
    )
  )
))

server <- shinyServer(function(input,output){
  output$scrolltable <- renderDT({
    data %>% 
      datatable(options = list(scrollX = TRUE, paginate = T, lengthMenu = c(5,10,15), pageLength = 5 
) )
  })
})

shinyApp(ui, server)

标签: rshinydt

解决方案


看看这些例子:https ://rstudio.github.io/DT/functions.html 。

您可以使用 为整个表格设置文本样式DT::formatStyle()。您的渲染代码块变为:

  output$scrolltable <- renderDT({
    data %>%
      datatable(options = list(
        scrollX = TRUE,
        paginate = T,
        lengthMenu = c(5, 10, 15),
        pageLength = 5
      )) %>% DT::formatStyle(columns = names(data), color="black")
  })

推荐阅读