我想在我的闪亮应用程序中的DataTable中选定的行设置高亮颜色。基本上我希望所选行的颜色是红色而不是蓝色。不过,我对JavaScript并不熟悉,所以我正在努力编写适当的回调(至少我认为这是问题)。这是我迄今为止所尝试的:R Shiny DataTable选择的行颜色
# 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}"
但我还没有到达那里,但 - 不幸的是上面的代码没有做任何的背景色。如果任何人都可以帮助我解决这个问题,那就太好了。
的'DT'包有内建的功能,改变字体颜色/背景颜色。见[这里](https://rstudio.github.io/DT/010-style.html) –
@GregordeCillia我已经看过那些,但我无法弄清楚如何根据是否选择颜色行或不。 –
只要'input $ table_rows_selected'发生变化,您就可以使用'dataTableProxy'并更新样式 –