Shiny 将文本颜色添加到数据表中的特定列名(标题)

Shiny 将文本颜色添加到数据表中的特定列名(标题),shiny,dt,Shiny,Dt,我对DT是一个相当陌生的人,我想给表格中的特定列添加文本颜色,我可以使用formatStyle按照下面的示例代码块来完成。但是,我也想在相应的列名(标题)中添加相同的文本颜色,有没有简单的方法 library(shiny) library(DT) ui = fluidPage(DT::dataTableOutput('fDataTable')) server = function(input, output) { output$fDataTable = DT::renderDataTab

我对DT是一个相当陌生的人,我想给表格中的特定列添加文本颜色,我可以使用
formatStyle
按照下面的示例代码块来完成。但是,我也想在相应的列名(标题)中添加相同的文本颜色,有没有简单的方法

library(shiny)
library(DT)

ui = fluidPage(DT::dataTableOutput('fDataTable'))

server = function(input, output) {
  output$fDataTable = DT::renderDataTable({
    DT::datatable(iris) %>%
      formatStyle(columns = 1, color = "red") %>%
      formatStyle(columns = 3, color = "blue")
  })
}  

app = list(ui = ui, server = server)
runApp(app)

任何帮助都将不胜感激。

您可以通过将CSS添加到正在呈现的表的
colnames
中来实现这一点(您还需要将
escape
设置为
FALSE
,否则html将被转义)

下面是一个例子:

library(shiny)
library(DT)

ui = fluidPage(DT::dataTableOutput('fDataTable'))

server = function(input, output) {
  output$fDataTable = DT::renderDataTable({
    iris_coloured <- iris
    colnames(iris_coloured)[c(1,3)] <- paste0('<span style="color:',c("red","blue"),'">',colnames(iris)[c(1,3)],'</span>')
    DT::datatable(iris_coloured,escape=F) %>%
      formatStyle(columns = 1, color = "red") %>%
      formatStyle(columns = 3, color = "blue")
  })
}  

app = list(ui = ui, server = server)
runApp(app)
库(闪亮)
图书馆(DT)
ui=fluidPage(DT::dataTableOutput('fDataTable'))
服务器=功能(输入、输出){
输出$fDataTable=DT::renderDataTable({
鸢尾花
formatStyle(列=1,color=“red”)%%>%
formatStyle(列=3,颜色=“蓝色”)
})
}  
应用程序=列表(用户界面=用户界面,服务器=服务器)
runApp(应用程序)