【问题标题】:Add text colour to a specific column name (header) in DT Shiny datatable将文本颜色添加到 DT Shiny 数据表中的特定列名(标题)
【发布时间】:2016-05-05 20:33:14
【问题描述】:

我对 Shiny 中的 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)

任何帮助将不胜感激。

【问题讨论】:

    标签: shiny dt


    【解决方案1】:

    您可以通过将 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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-27
      • 2018-05-23
      • 1970-01-01
      • 1970-01-01
      • 2013-08-21
      • 2020-07-18
      • 2019-02-08
      相关资源
      最近更新 更多