0
这是一个示例,显示如何选择列(第3列),突出显示大于100的值,并以某种方式突出显示大于200的值。renderDataTable颜色预先选择的行
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行,并将这些行着色为黄色。对于如何修改上面的代码来完成这一任何帮助非常感谢。提前致谢。
它看起来像'aData'是一个数据帧。 你有什么理由不能参考'aData [c(3,9,11,13),]'? – Warner
@Warner,你是对的''aData'是一个数据框,我做了你的建议,我没有看到任何输出,也没有看到任何错误,我怀疑我将不得不改变下一行,'$( “td:eq(3)”,nRow).....'但不知道如何? – Science11
@ Science11,看看我的例子http://stackoverflow.com/questions/38565033/use-backgroundcolor-in-dt-package-to-change-a-complete-row-instead-of-a-single- v/38565223#38565223 –