Это пример, показывающий, как выбрать столбец (столбец 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' является dataframe. Есть ли причина, по которой вы не можете ссылаться на 'aData [c (3,9,11,13),]'? – Warner
@Warner, вы правы 'aData' - это dataframe, я сделал то, что вы предлагали, я не видел никакого вывода и не видел никакой ошибки, я подозреваю, что мне придется изменить и следующую строку:' $ ("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 –