这是一个示例,显示如何选择列(第3列),突出显示大于100的值,并以某种方式突出显示大于200的值。
library("shiny")
library("shinydashboard")
library("datasets")
library("DT")
header <- dashboardHeader()
sidebar <- dashboardSidebar()
body <- dashboardBody(
DT::dataTableOutput("mtcarsTable")
)
shinyApp(
ui = dashboardPage(header, sidebar, body),
server = function(input, output) {
output$mtcarsTable <- renderDataTable({
DT::datatable(datasets::mtcars,
options = list(rowCallback = JS('
function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
// Bold and green cells for conditions
if (parseFloat(aData[3]) >= 200)
$("td:eq(3)", nRow).css("font-weight", "bold");
if (parseFloat(aData[3]) >= 100)
$("td:eq(3)", nRow).css("background-color", "#9BF59B");
}')
)
)
})
}
)
我只是在寻找一种只选择行而不是列的方法。例如,选择第3,9,11和13行并将这些行着色为黄色。任何帮助如何修改上面的代码以实现这一点非常感谢。提前谢谢。
答案 0 :(得分:0)
不确定这是否是您要查找的内容,但下面的代码将以黄色突出显示&#34; disp&#34;的值的所有行。 (aData [3])列大于200。
'function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
if (parseFloat(aData[3]) >= 200)
$(nRow).css("background-color", "#ffff00");
}'
只需将其插入rowCallback部分即可。
可替换地,
编辑代码以删除列号:
$("td", nRow).css("background-color", "#9BF59B");