javascript - R Shiny DataTable 选定的行颜色

标签 javascript css r datatables shiny

我正在尝试为我 Shiny 的应用程序中的 DataTable 中的选定行设置突出显示颜色。基本上我希望所选行的颜色是红色而不是蓝色。但是,我一点也不熟悉 JavaScript,所以我很难编写适当的回调(至少我认为这是问题所在)。到目前为止,这是我尝试过的:

# ui.R
library(shiny)

fluidPage(
  title = 'DataTables Test',
  DT::dataTableOutput('table')
)

# server.R
library(shiny)
library(DT)

# render the table
output$table = renderDataTable(datatable(head(iris, 20), 
options = list(
    initComplete = JS(
      "function(settings, json) {",
      "var rows = $(this.api().table().rows());",
      "for (var i = 0; i < rows.length; i++){ ",
      "var row = rows[i];",
      "row.css({'background-color': '#000', 'color': '#f00'})",
      "}",
      "}")
  )))

})

如您所见,到目前为止,我只是想弄清楚如何更改行颜色。弄清楚这一点后,我将尝试将 css 更改为类似以下内容:

"tr.selected td, table.dataTable td.selected { background-color: #f00}"

但我还没有做到这一点——不幸的是,上面的代码对背景颜色没有任何影响。如果有人可以帮助我解决整个问题,那就太好了。

最佳答案

这应该可以完成工作:

#rm(list = ls())
library(shiny)
library(DT)

ui <- basicPage(
  tags$style(HTML('table.dataTable tr.selected td, table.dataTable td.selected {background-color: pink !important;}')),
  mainPanel(DT::dataTableOutput('mytable'))
)

server <- function(input, output,session) {

  output$mytable = DT::renderDataTable(    
    datatable(mtcars)
  ) 
}
runApp(list(ui = ui, server = server))

enter image description here

关于javascript - R Shiny DataTable 选定的行颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44967894/

相关文章:

html - 背景不填充 div(仅在 txt 后面),不想使用 css3(只是普通的旧 css)

r - 将列表中的元素添加到多个其他嵌套列表

javascript - 正则表达式在<a>中删除删除的标签后查找youtube链接

javascript - onBlur 不适用于 TextArea

html - 将 div 固定到父级的底部

r - 使用开始和结束列的名称选择连续范围的 data.frame 列

r - 如何使用 rmarkdown 在 pdf 文档中获取内联方程?

javascript - 当我们单击 jquery 垂直选项卡菜单时如何使页面滚动位置到顶部

javascript - 对相似参数进行分组的逻辑

html - 列表项宽度为 50%,但边距超出了它们的宽度