我想在我的閃亮應用程序中的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'並更新樣式 –